This is file install.txt for Moscow ML 1.42 for Linux/Unix (July 1997) SYSTEM REQUIREMENTS Moscow ML was compiled under Linux 2.0.12 with gcc 2.7.2, and requires 2 MB of RAM or more. The installation requires 3 MB disk space. INSTALLING MOSCOW ML (BINARIES ONLY) UNDER LINUX (1) For a personal installation, move to your home directory, and unpack the Moscow ML distribution using gzip -dc linux-mos14bin.tar.gz | tar xfv - This creates a directory ~/mosml with subdirectories mosml/ readme, install.txt bin/ mosml, mosmlc, mosmllex, mosmlyac, camlrunm copyrght/ copyright notices doc/ manual.dvi, mosmlref.dvi, ... examples/ a few example programs lib/ bytecode files and basis library units tools/ mosmldep, Makefile.stub (2) Edit the variables `stdlib' and `mosmlbin' in the scripts mosml/bin/mosml and mosml/bin/mosmlc (3) Edit the file mosml/lib/header to contain the absolute location of the camlrunm runtime system (usually /home/foo/mosml/bin/camlrunm). (4) Start Moscow ML by typing mosml To quit Moscow ML, type `quit();' or control-D. INSTALLING MOSCOW ML UNDER OTHER UNIXES If you have Linux, DEC MIPS+Ultrix, HPPA+HP/UX, Sparc+SunOS, Sparc+Solaris, SGI MIPS+IRIX 5, DEC Alpha+OSF/1, and possibly other systems, then you can install Moscow ML as follows: (1) choose a directory for the Moscow ML subdirectory to reside in, such as /usr/local/ for a systemwide installation, or ${HOME} for a personal installation. (2) download the Unix source files from ftp://ftp.dina.kvl.dk/pub/mosml/mos14src.tar.gz (3) unpack it by executing (in /usr/local, or ${HOME}) gzip -dc mos14src.tar.gz | tar xvf - (4) change directory to mosml/src (5) edit file mosml/src/Makefile.inc to suit your system. Set MOSMLHOME to /usr/local/mosml, or ${HOME}/mosml. Also, the versions of /lib/cpp differ amoung operating systems; choose a suitable value of CPP for your system. (6) execute (in mosml/src) make clean make world make install (7) to check that the installation went well, you can try (7.1) * change directory to mosml/src/test * execute: mosml test.sml > result * diff result result.ok (7.2) * change directory to mosml/src/mosmllib/test * execute: mosml -P full test.sml > result * diff result result.ok Note that some of the test cases are suitable only for 32-bit architectures, and will fail on 64-bit architectures (such as DEC Alpha); this does not necessarily indicate that the Moscow ML implementation is wrong. EXTENT OF THE IMPLEMENTATION The current version 1.42 of Moscow ML * implements the Core language of Standard ML, as revised 1996 * implements large parts of the new SML Basis Library * implements separate compilation and a limited version of the Standard ML Modules language, with signatures and structures but no functors * can produce compact stand-alone executables (a la Caml Light) * supports quotations and antiquotations, useful for metaprogramming * includes several new libraries and a new type `char' 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 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; and * the good work by Doug Currie, Flavors Technology, USA, on the MacOS port and many improvements.