SML support on Linux

Several SML compilers are avilable on the Linux workstations and servers.

MLWorks is a commercial SML compiler and development environment developed by Harlequin Ltd.

To run mlworks, first you must setup your environment.

tweed % setup mlworks
Setting up mlworks
"MLWorks is Harlequin's implementation of SML -- the power of SML
encapsulated in a modern professional programming environment. 

MLWorks provides the leading interactive development environment for
learning the art of functional programming."
You can then run mlworks
hope % mlworks
You will then be presented with the MLWorks IDE.

MLWorks can be run with several options.

For local users, the MLWorks guide and reference manuals are available, as well as the release notes. For non local users, these documents can be found at Harlequin's MLWorks page.


SML/NJ is invoked by the command nj-sml, as in the following:

prometheus [stuart]: nj-sml
Standard ML of New Jersey, Version 0.93, February 15, 1993
val it = () : unit
Several options are available as switches to the nj-sml command. These options allow different versions and flavours of the compiler and tools to be selected can be found by typing nj-sml -help.
prometheus [stuart]: nj-sml -help
Standard ML of New Jersey Version 0.93
Command-Line Switches :
        -noshare : Non-share version (compiler not exported).
        -library : Edinburgh Standard ML Library loaded.
        -edlib   : Edinburgh SML Library (for mlkit 1/2).
        -debug   : Debugging enabled.
        -profile : Profiling enabled.
        -smltk   : TK toolkit loaded.
        -cml     : John Reppy's Concurrent ML.
Other Versions :
        -new     : Working version 109 (temporary).
        -97      : Final working version 110 (temporary).
        -97cm    : Version 110 with CM (temporary).
        -97lex   : Version 110 LEX tool (temporary).
        -97yacc  : Version 110 YACC tool (temporary).

More info

The locally installed version of SML/NJ 0.93 is a patched version of the original to support Linux 2.0/ELF. Patches, RPMS and more information can be found on the
SML/NJ 0.93 for Linux page.

Moscow ML

Moscow ML is a lightweight ML compiler that produces byte code that is interpreted. Moscow ML does not (yet) provide the full modules capability of SML. Moscow does provide most of the SML Basis library, is small, simple and has a few useful extensions (such as CGI support). To run Moscow ML on the Linux machines type mosml. More information on Moscow ML can be found at the Moscow ML homepage.

Stuart Croy
Last modified: Tue Mar 23 16:28:39 GMT 1999