Open-source release of MLj

MLj 0.2 is a compiler for Standard ML which produces Java bytecodes. It compiles the functor-free subset of the new SML'97 language plus some new language extensions for straightforward interlanguage working with Java. It produces compact standalone compiled code which can be run on any computer with a Java Virtual Machine.

Version 0.2 is a snapshot of internal development at Persimmon IT up to February 1999. As such, it has many improvements over the original release but some changes are not yet complete or may not be robust. The main changes are significant improvements in compile times and run times, and more friendly Java extensions to the ML language. See the manual for details. There is a discussion list mlj-users for anyone interested in the compiler.

Status: The SML.NET compiler has now been released. This shares a significant codebase with MLj, but is targeted at the Microsoft .NET common language runtime. It has a better coverage of Standard ML, and more support for working with object-oriented languages and libraries. On the other hand, it only works under Windows (at least until someone hooks it up to Mono: any takers?).
Ian Stark, 9 July 2002

If you have any comments or suggestions about MLj or the site, please email

Java is a trademark of Sun Microsystems.