Standard ML

Standard ML (SML) is a general purpose functional programming language that gained some popularity in the 90s as a language for use in informatics research. It is a derivative of ML.

History
The language was developed between 1983 and 1985 at the University of Edinburgh.

Standard ML of New Jersey (SML/NJ) was developed jointly at Bell Laboratories, Princeton University and Yale University.

Caml (Categorical Abstract Machine Language) is a dialect of the ML programming language developed at ENS (later INRIA) in France.

OS/2 implementations

 * Moscow ML
 * Standard ML for PM (SML/PM) - native port of Edinburgh ML 4.1
 * SML/NJ 0.93 (smlnj093.zip) - emx port


 * Programmer's utilities
 * Exuberant ctags - Creates index files out of SML source files - Open source

DOS implementations

 * Caml Light
 * EdML
 * MicroML - interpreter for a subset of SML
 * Moscow ML

Java implementations

 * MLj - compiler which produces Java bytecode

Publications

 * Wikstrom: Functional Programming Using Standard ML - Prentice Hall 1987, ISBN 0-13-331661-0
 * A.J.R. Milner; M. Tofte: The Definition of Standard ML - MIT Press 1990
 * Paulson: ML for the Working Programmer - Cambridge University Press 1991, ISBN 0-521-39022-2
 * Stansifer: ML Primer - Prentice Hall 1992, ISBN 0-13-561721-9
 * Myers; Clack; Poon: Programming with Standard ML - Prentice Hall 1993, ISBN 0-13-722075-8
 * Jeffrey D. Ullman: Elements of ML Programming - Prentice Hall 1993, ISBN 0-13-184854-2
 * Milner; Harper; MacQueen; Tofte: The Definition of Standard ML (Revised Edition) - MIT Press 1997, ISBN 0-262-63181-4
 * Emden R. Gansner; John H. Reppy: The Standard ML Basis Library - Cambridge University Press 2004, ISBN 9780521791427
 * Harper: Programming in Standard ML - 2011

Links

 * Standard ML of New Jersey
 * Standard ML and Objective Caml, Side by Side
 * Moscow ML