Moscow ML 2.00 for Unix released

Peter Sestoft <sestoft@ellemose.dina.kvl.dk>
1 Jul 2000 11:13:14 -0400

          From comp.compilers

Related articles
Moscow ML 2.00 for Unix released sestoft@ellemose.dina.kvl.dk (Peter Sestoft) (2000-07-01)
| List of all articles for this month |
From: Peter Sestoft <sestoft@ellemose.dina.kvl.dk>
Newsgroups: comp.lang.functional,comp.compilers
Date: 1 Jul 2000 11:13:14 -0400
Organization: UNI-C
Keywords: ML, functional

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
                and functors
            - 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
                defined
      * 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


                            http://www.dina.kvl.dk/~sestoft/mosml.html




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.


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.


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, '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 (roman@keldysh.ru)
        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 (sestoft@dina.kvl.dk),
        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.


AVAILABILITY


        * The Moscow ML homepage
                http://www.dina.kvl.dk/~sestoft/mosml.html
            This includes Linux RPMs: binary x86, binary Alpha, source.
        * Moscow ML library documentation
                http://www.dina.kvl.dk/~sestoft/mosmllib/
        * The Linux executables and documentation are in
                ftp://ftp.dina.kvl.dk/pub/mosml/linux-mos20bin.tar.gz
        * The Unix source files and documentation are in
                ftp://ftp.dina.kvl.dk/pub/mosml/mos20src.tar.gz
        * The MS Windows 95/98/NT executables and documentation are in
                ftp://ftp.dina.kvl.dk/pub/mosml/win32-mos20bin.zip
        * The MacOS (68k and PPC) executables and docs and source diffs are in
                ftp://ftp.dina.kvl.dk/pub/mosml/MacMoscowML20installer.hqx
        * The MS Windows 95/98/NT/2000 source files are in
                ftp://ftp.dina.kvl.dk/pub/mosml/win32-mos20src.zip


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 (sestoft@dina.kvl.dk) 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


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.