Moscow ML 2.0 is a well-known, attractive implementation of Standard ML. One of the practical problems with developing a large project with Moscow ML is that intelligent recompilation management is cumbersome. Its separate-compilation model is simple and elegant, but because it does not match the C-centric viewpoint of the standard make tool, it is surprisingly difficult to write a makefile that correctly and efficiently handles the recompilation of a large Moscow ML project.
Mosmake provides an unified solution to this problem It is what I call a "makefile infrastructure". The most productive way to think of it is as a makefile generator: You write down the dependencies between your SML units in a simple, terse format, and Mosmake will expand them to a makefile fragment that invokes the `mosmlc' command-line compiler with the appropriate arguments to compile and link your program. (There's more to it than this, but it will do for an introduction).
Here's a list of feature highlights:
Mosmake is written by Henning Makholm and released under the GNU General Public License. It is permitted to use Mosmake to build programs that are not themselves GPL.
The latest (and so far only) release of Mosmake is 0.9, released on November 19, 2002.