The ML Kit
     ------------------------------------------------------------

    Copyright (C) 1993 by Copenhagen and Edinburgh Universities

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

     ------------------------------------------------------------

   The GNU General Public License may be found in the file COPYING

     ------------------------------------------------------------


This file describes how to obtain and install the latest relase of 
The ML Kit, which is an implementation of Standard ML written in 
Standard ML. The implementation contains an interpreter and a 
compiler. The interface is however the same; the compiler compiles to
lambda code which is interpreted. This distribution also contains
documentation of the implementation; we urge the user to read the
documentation.

Send comments and bug reports to

  Lars Birkedal
  DIKU, University of Copenhagen
  Universitetsparken 1
  DK-2100 Copenhagen East
  Denmark
  Email: birkedal@diku.dk

FTP distribution instructions
-----------------------------

The ML Kit can be obtained by anonymous ftp from both the University
of Copenhagen, and the University of Edinburgh:

Host 	ftp.diku.dk		Directory 	diku/users/birkedal
Host 	ftp.lfcs.ed.ac.uk	Directory 	export/ml/mlkit

These directories contain this README file, the COPYING file, and the
following compressed tar files:

  src.tar.Z	  the src directory containing source code
  doc.tar.Z	  the doc directory containing documentation
  tools.tar.Z     the tools directory containing some utilities
  examples.tar.Z  the examples directory containing examples

Here are sample dialogs

  ftp ftp.diku.dk  			ftp ftp.lfcs.ed.ac.uk
  Name: anonymous		  	Name: anonymous
  Password: <your loginname@host>  	Password: <your loginname@host>
  ftp> binary  				ftp> binary
  ftp> cd diku/users/birkedal  		ftp> cd export/ml/mlkit
  ftp> get README  			ftp> get README
  ftp> get COPYING  			ftp> get COPYING
  ftp> get src.tar.Z  			ftp> get src.tar.Z
  ftp> get doc.tar.Z  			ftp> get doc.tar.Z
  ftp> get tools.tar.Z  		ftp> get tools.tar.Z
  ftp> get examples.tar.Z  		ftp> get examples.tar.Z
  ftp> bye  				ftp> bye


After the files are transferred they should be uncompressed and then
extracted using tar into a directory called Kit. For example 

  mkdir Kit
  mv src.tar.Z Kit
  cd Kit
  zcat src.tar.Z | tar xf -

will install the src directory (i.e., a directory src appears in
directory Kit).

Installation
------------

No executable version of the Kit is supplied, i.e., you have to
compile the sources yourself.  However, this is easily done as
described below.  The Kit can be compiled using either Standard ML of
New Jersey or Poly/ML.  However, a stand-alone batch version can only
be made using SML/NJ. The tools directory is needed to compile with as
described below.  Notice, that the executables will be big (around
nine megabytes) and it is preferable if you compile using a machine
with a lot of memory (it takes around 10 minutes to compile under
SML/NJ on a SPARC station with 64 Mb of memory.)

SML/NJ is available from LFCS, as above, but in directory
export/ml/njml.

Poly ML is a commercially supported system, available from Abstract
Hardware Ltd. (ahl@ahl.co.uk)

The Edinburgh Standard ML Library is in the public domain and is
available from LFCS in the directory export/ml/library.

Compilation under Standard ML of New Jersey

We assume you have a version of SML/NJ with the Edinburgh Standard ML
Library loaded (either the full library, or just the Make facility).
Then change directory to the src directory and set the variable NJSML
in the Makefile to the name of your executable version of SML/NJ. When
the Makefile has been modified use one of the commands below to build
either the interpreter, the compiler or the batch interpreter.

  Command            Builds
  ------------------------------------------------------------------
  make kit-int-NJ    The interpreter, an executable file kit is made
  make kit-comp-NJ   The compiler, an executable file kit is made 
  make kit-batch-NJ  The batch interpreter, an executable file 
	             evalFile is made

We recommend to build the interpreter and perhaps also the batch
interpreter as the compiler is incomplete.

Compilation under Poly/ML

We assume you have a database file with the Edinburgh Standard ML
Library (either the full library, or just the Make facility). Then
simply change directory to the src directory and set the variables
POLYDATABASEFILE and POLY in the Makefile. When the Makefile has been
modified use one of the commands below to build either the interpreter
or the compiler (no batch system is provided)

  Command            Builds
  ------------------------------------------------------------------
  make kit-int-Poly  The interpreter, a child database called kit is made
  make kit-comp-Poly The compiler, a child database called kit is made 

The database containing the Library is first copied such that this
database is not modified by the installation.
We recommend to build the interpreter as the compiler is incomplete.





      Name                    Last modified      Size  Description
COPYING 1993-03-09 17:35 18K doc.tar.Z 1993-03-09 17:40 448K examples.tar.Z 1993-03-09 17:40 403 src.tar.Z 1993-03-09 17:44 439K tools.tar.Z 1993-03-09 17:44 2.0K