http://www.smlnj.org/
Standard ML of New Jersey is a free Standard ML compiler, ported to many platforms.
It does not directly compile to stand alone applications, but you can save "heap images" which are almost the same thing. On some platforms, stand alone applications can be generated with command line tools.
From the web page:
Standard ML of New Jersey is written in Standard ML (except for the runtime system, which is written in C). SML/NJ has been used to implement a significant number of large systems, mainly in the fields of applied logic and verification (HOL 90, Isabelle, Step), and program analysis and advanced compilers. SML/NJ runs under Windows 95 and NT as well as many flavors of Unix. Renewed support for MacOS is planned for the next release.