Chapter 12. ML

ML is a functional programming language developed in the late 1970's at Edinburgh University. It is a strongly typed (in contrast to Lisp) functional language with type inference as one of its main features. Its first standard incarnation was published in 1990 (ML90), and a new version in 1997 (ML97). The major implementations now all support ML97 which we will use for the presentation.

12.1. Software and Installation

For the introduction we are using the Moscow ML implementation of Standard ML (SML) including the little shell program mml from CarrotSoft. To install the program, unzip both, start the mml program, and drag the installation directory of Moscow ML from a Windows Explorer into the mml window. Starting the mml shell, you get the following welcome message.

MosML Windows Interface v1.1 by Andrew Pontzen
Bug reports to andrew@carrotsoft.com or app26@cam.ac.uk
Latest version from www.carrotsoft.com

Moscow ML version 2.00 (June 2000)
Enter `quit();' to quit.
- 

You are now ready to enter the wonderful world of Standard ML on the command line. The dash "-" is the prompt, and the response of the interpreter will be prefixed with a ">" symbol.

References

Jeffrey D. Ullman, 0-13-790387-1, Prentice-Hall, 1998, Elements of ML Programming, ML97 Edition.

Stephen Gilmore, The University of Edinburgh, 2003, Programming in Standard ML '97: A Tutorial Introduction.

Andreas Rossberg and Jens Olsson, Universitaet des Saarlandes, , Standard ML vs. Objective Caml: http://www.ps.unie-sb.de/~rossberg/SMLvsOcaml.html.