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.
