The implementation language for the project component of the course is Standard ML. Because of the compilation manager (CM), I recommend the Standard ML of New Jersey, but other implementations compliant with the standard definition such as MLWorks are also acceptable.
The local maintainer of Standard ML is Dave Swasey swasey@cs.cmu.edu.
Standard ML of New Jersey provides a free implementation with only minor deviations from the revised definition and the standard library. It provides a compilation manager (CM) to track file dependencies and separate compilation, but it does not provide an X interface, browser, or other tools (available, for example, in MLWorks).
MLWorks is an implementation of Standard ML compliant with The Definition of Standard ML - Revised. It also provides an X interface, tools for browsing and debugging, and an implementation of the ML Standard Library. MLWorks also has some statistical profiling tools.
CMU has an MLWorks licsense only for the Sparc-5 and UltraSparc workstations. This can be found under /afs/andrew/scs/cs/mlworks. You can also download a free personal copy from Harlequin. Check Harlequin's MLWorks site.