Moscow ML Home Page - surprisingly, I hadn't come across this before. It's a small SML bytecode compiler that now implements the full language scope and standard library. Much slimmer than the large SML/NJ and also requires fewer resources than SML/NJ or MLton. Very useful for small tools (and installable on the Mac with MacPorts - just like SML/NJ and Poly/ML, the other two major ML compilers).
ml
Poly/ML Home Page - poorly linked, because Poly/ML is often ignored in favor of SML/NJ and MLton. Potentially also usable as an alternative to MosML, as Poly/ML is quite fast, but delivers native code that is also good for standalone tools. Although MLton still outperforms here, as it takes a long time to compile due to optimization across the entire program, but produces significantly smaller executables.
Standard ML of New Jersey - and no list of ML compilers would be complete without the grandfather of SML, so here's the last link. A bit aged, but certainly still one of the most well-developed systems.
MLton Standard ML Compiler (SML Compiler) - MLton is required for Ur/Web, and conveniently, there is a binary download for OS X that works quite well if you have the GnuMP library installed via MacPorts (you can also install the mhash library from there, which is another prerequisite for Ur/Web). MLton is also an interesting project in its own right, as it is a standalone compiler for ML that has very good optimizations (though it also has extreme compilation times for the compiler).
The Ur Programming Language Family - interesting functional programming language with integrated XML templating and persistence. The goal is to write the entire interactive web application in one language. Data model in the same language as templates. All secured with type declarations and type inference - for example, there is a functor that automatically generates a complete administration interface for a table defined in Ur, with protection against code injection and other common attack scenarios. The language itself is very strongly oriented towards ML, but adopts some features from Haskell (specifically the monads and the more powerful type system). In some points, it reminds me strongly of Scala in terms of ideas - good embedded languages for SQL and HTML combined with a powerful functional language. However, the Ur compiler directly generates object code (and JavaScript for the client side) and not code for a virtual machine. And the runtime has no garbage collection, but memory management derived from the code (which makes memory behavior more deterministic). The whole thing is based on MLTon, a very well-optimizing ML compiler. Somehow, much of the project reminds me of Django - only not dynamically typed, but statically. Could be quite interesting.
Yeti programming language - I should take a look at that, an ML for the JVM. Scala offers many of these features as well and certainly has much more momentum at the moment. But I've always found ML quite interesting because the language is quite compact - and with JVM integration, you get all the Java libraries to play with so to speak for free. Although Yeti is really only an ML-style language, not really ML (significant differences in syntax).