Related articles |
---|
Moscow ML 1.44 sestoft@ellemose.dina.kvl.dk (Peter Sestoft) (1999-09-05) |
From: | Peter Sestoft <sestoft@ellemose.dina.kvl.dk> |
Newsgroups: | comp.compilers |
Date: | 5 Sep 1999 02:40:29 -0400 |
Organization: | KVL |
Keywords: | ML, available |
Moscow ML provides a light-weight implementation of Core Standard ML,
a strict functional language widely used in teaching and research.
It is based on the Caml Light system, which gives fast compilation and
modest storage consumption.
New in version 1.44 of Moscow ML:
* Interface to the PostgreSQL database server (structure Postgres)
* Interface to the MySQL database server (structure Mysql)
* Interface to POSIX 1003.2 regular expressions (structure Regex)
* Interface to sockets (structure Socket)
* Access to GNU gdbm persistent hashtables (structures Gdbm, Polygdbm)
* Faster bytecode execution (when compiled with GCC or egcs)
* Registration of ML and C functions to simplify callbacks
Moscow ML version 1.44 is available from
http://www.dina.kvl.dk/~sestoft/mosml.html
As before, Moscow ML
* Implements the Core language of 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 and a limited version of the
Standard ML Modules language, with signatures and non-nested
structures but no functors.
* Can produce compact stand-alone executables (a la Caml Light).
* Supports quotations and antiquotations, useful for metaprogramming.
* Provides dynamic linking of external functions (Linux, Solaris,
Digital Unix, HP-UX, MacOS, Win'95/98/NT)
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.
STAND-ALONE EXECUTABLES
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
itself.
SIMPLIFIED MODULES LANGUAGE
The sublanguage of Modules implemented by Moscow ML contains
signatures and non-nested structures, and identifies structures with
source files. It is less expressive than the full Standard ML Modules
language, but the type-safe separate compilation facility is simple,
quite useful, and easy to use. It is the intention to implement the
full Standard ML Modules language (including functors) in due course.
SEPARATE COMPILATION
Compilation of a signature produces a compiled interface file, which
is used when compiling other signatures and structures.
SUPPORTED PLATFORMS
Intel x86-based PCs running Windows'95, '98 and NT, OS/2, Linux or
FreeBSD; DEC Alpha running Digital Unix (OSF/1); 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 (roman@keldysh.ru)
Keldysh Institute of Applied Mathematics, Russian Academy of Sciences
Miusskaya Pl. 4, 125047 Moscow, Russia.
and Peter Sestoft (sestoft@dina.kvl.dk),
Department of Mathematics and Physics, Royal Veterinary and
Agricultural University, Thorvaldsensvej 40, DK-1871 Frederiksberg C,
Denmark. Much 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; and
* the good work by Doug Currie, Flavors Technology, USA, on the
MacOS port.
AVAILABILITY
* The Moscow ML homepage
http://www.dina.kvl.dk/~sestoft/mosml.html
* Moscow ML library units documentation
http://www.dina.kvl.dk/~sestoft/mosmllib/index.html
* The Linux executables and documentation are in
ftp://ftp.dina.kvl.dk/pub/mosml/linux-mos14bin.tar.gz
* The Unix source files and documentation are in
ftp://ftp.dina.kvl.dk/pub/mosml/mos14src.tar.gz
* The MS Windows 95/98/NT executables and documentation are in
ftp://ftp.dina.kvl.dk/pub/mosml/win32-mos14bin.zip
* The MacOS (68k and PPC) executables and docs and source diffs are in
ftp://ftp.dina.kvl.dk/pub/mosml/MacMoscowML144installer.hqx
* The DOS executables (and documentation) are in
ftp://ftp.dina.kvl.dk/pub/mosml/mos14bin.zip
* The MS Windows 95/98/NT source files are in
ftp://ftp.dina.kvl.dk/pub/mosml/win32-mos14src.zip
* The DOS source files are in
ftp://ftp.dina.kvl.dk/pub/mosml/mos14src.zip
These files are mirrored at
ftp://ftp.csd.uu.se/pub/mirror/mosml
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
--
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
comp.compilers page.
Search the
comp.compilers archives again.