from
The Free On-line Dictionary of Computing (8 July 2008)
Standard ML
<language> (SML) Originally an attempt by Robin Milner
<[email protected]> ca. 1984 to unify the dialects of
{ML}, SML has evolved into a robust general-purpose language.
Later versions have been maintained by D. B. MacQueen, Lal
George <[email protected]>, and J. H. Reppy
<[email protected]> at AT&T, and A. W. Appel
<[email protected]>.
SML is {functional}, with {imperative programming} features.
It is environment based and {strict}. It adds to ML the
{call-by-pattern} of {Hope}, {recursive data types},
{reference types}, typed {exceptions}, and {modules}. (The
"core" language excludes the modules).
Standard ML is {polymorphic}ally typed and its module system
supports flexible yet secure large-scale programming.
{Standard ML of New Jersey} is an optimising {native-code
compiler} for Standard ML that is written in Standard ML. It
runs on a wide range of architectures. The distribution also
contains: an extensive library - The Standard ML of New Jersey
Library, including detailed documentation; {Concurrent ML}
(CML); {eXene} - an elegant interface to {X11} (based on
{CML}); {SourceGroup} - a {separate compilation} and "{make}"
facility.
Implementations: {SML/NJ}, {POPLOG ML}, {Poly/ML}, {Edinburgh
SML}, {ANU ML}, {Micro ML}, {lazy sml2c}.
{sml2c} compiles to {C}. See also {ML Kit}.
Version 0.93 runs on {68000}, {SPARC}, {MIPS}, {HPPA},
{RS/6000}, {Intel 386}, {Intel 486} and {Macintosh}.
Manual
(http://dcs.napier.ac.uk/course-notes/sml/manual.html).
FTP from ATT (ftp://research.att.com/dist/ml/).
FTP from Suny SB (ftp://sbcs.sunysb.edu/).
Mailing list: [email protected].
["A Proposal for Standard ML", R. Milner, ACM Symp on LISP and
Functional Prog 1984, pp. 184-197].
(1995-12-24)