|Moscow ML 2.00 for Unix released email@example.com (Peter Sestoft) (2000-07-01)|
|From:||Peter Sestoft <firstname.lastname@example.org>|
|Date:||1 Jul 2000 11:13:14 -0400|
Moscow ML provides a light-weight implementation of full Standard ML,
including Modules and some extensions. Standard ML is a strict
functional language widely used in teaching and research.
Moscow ML is based on the Caml Light system, which gives fast
compilation and modest storage consumption.
* The full SML Modules language (structures, signatures, and functors)
is now supported, thanks to Claudio Russo.
* Also, several extensions to the SML Modules language are provided:
- higher-order functors: functors may be defined within structures
- first-class modules: structures and functors may be packed and
then handled as Core language values, which may then be unpacked
as structures or functors again
- recursive modules: signatures and structures may be recursively
* Despite those improvements, Moscow ML remains backwards compatible.
* Value polymorphism has become friendlier: non-generalizable free
type variables are left free, and become instantiated (once only)
when the bound variable is used
* Added facilities for creating and communicating with subprocesses
(structure Unix and Signal from SML Basis Library).
* Added facilities for efficient functional generation of HTML code
(structure Msp); also supports the writing of ML Server Page scripts.
* Added facilities setting and accessing `cookies' in CGI scripts
(structure Mosmlcookie), thanks to Hans Molin, Uppsala, Sweden.
* The Gdimage structure now produces PNG images (using Thomas
Boutell's gd library).
Moscow ML version 2.00 is available from
As before, Moscow ML
* Implements Standard ML, as revised 1997 (value polymorphism,
default overloading resolution, new types).
* Implements most of the new Standard ML Basis Library, including
the most common input/output facilities in TextIO and BinIO.
* Features an on-line help function.
* Implements separate compilation.
* Can produce compact stand-alone executables.
* Supports quotations and antiquotations, useful for metaprogramming.
* Provides dynamic linking of external functions (Linux/x86 and
Linux/Alpha, Solaris, Digital Unix, HP-UX, MacOS, Win'95/98/NT/2000)
SML BASIS LIBRARY
The SML Basis Library is an attempt to rationalize the collection of
built-in types and functions, with the aim of improving portability of
Standard ML programs. Standard ML of New Jersey, Harlequin MLWorks,
and Moscow ML implement the Standard Library.
Moscow ML can generate compact linked bytecode files in the style of
Caml Light. A bytecode file calls on the shared runtime system to run
Compilation of a signature produces a compiled interface file, which
is used when compiling other signatures and structures.
Intel x86-based PCs running Windows'95, '98, 'NT, and '2000, OS/2,
Linux or FreeBSD; DEC Alpha running Linux or Digital Unix; Sun Sparc
running Solaris or SunOS; HP9000 running HP/UX 9 or HP/UX 10; SGI MIPS
running IRIX 5; Macintosh (68k and PPC) running MacOS (thanks to Doug
Currie) or MkLinux.
AUTHOR AND CREDITS
Moscow ML was written by
Sergei Romanenko (email@example.com)
Keldysh Institute of Applied Mathematics, Russian Academy of Sciences
Miusskaya Pl. 4, 125047 Moscow, Russia
and Claudio V. Russo (Claudio.Russo@cl.cam.ac.uk), University of Cambridge.
Thanks to Don Sannella at LFCS, Division of Informatics,
University of Edinburgh for funding under EPSRC grant GR/K63795
and Peter Sestoft (firstname.lastname@example.org),
Department of Mathematics and Physics, Royal Veterinary and
Agricultural University, Thorvaldsensvej 40, DK-1871 Frederiksberg C,
Denmark. Much of the work was done at the Technical University of
Denmark, and while visiting AT&T Bell Laboratories, New Jersey, USA.
Moscow ML owes much to:
* the CAML Light implementation by Xavier Leroy and Damien Doligez
(INRIA, Rocquencourt, France); especially the Caml Light bytecode
generator and the runtime system;
* the ML Kit by Lars Birkedal, Nick Rothwell, Mads Tofte and David Turner
(Copenhagen University, Denmark, and Edinburgh University, Scotland);
* inspiration from the SML/NJ compiler developed at Princeton
University and AT&T Bell Laboratories, New Jersey, USA;
* the good work by Doug Currie, Flavors Technology, USA, on the
MacOS port and many improvements; and
* feedback, contributions, and useful suggestions, in particular
from Ken Friis Larsen, but also from Jonas Barklund, Mike Gordon,
Michael Norrish, Konrad Slind, and numerous other people.
* The Moscow ML homepage
This includes Linux RPMs: binary x86, binary Alpha, source.
* Moscow ML library documentation
* The Linux executables and documentation are in
* The Unix source files and documentation are in
* The MS Windows 95/98/NT executables and documentation are in
* The MacOS (68k and PPC) executables and docs and source diffs are in
* The MS Windows 95/98/NT/2000 source files are in
Postscript and PDF versions of the documentation included with the
binaries can be found in ftp://ftp.dina.kvl.dk/pub/mosml/doc/
Peter Sestoft (email@example.com) 2000-06-29
Department of Mathematics and Physics * http://www.dina.kvl.dk/~sestoft/
Royal Veterinary and Agricultural University * Tel +45 3528 2334
Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark * Fax +45 3528 2350
Return to the
Search the comp.compilers archives again.