Standard ML
<language> (SML) Originally an attempt by Robin Milner
<rm@lfcs.edinburgh.ac.uk> 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 <george@research.att.com>, and
J. H. Reppy
<jhr@research.att.com> at AT&T, and A. W. Appel
<appel@princeton.edu>.
SML is functional, with imperative 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 polymorphically 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.
FTP from ATT.
FTP from Suny SB.
Mailing list: sml-request@cs.cmu.edu.
["A Proposal for Standard ML", R. Milner, ACM Symp on LISP and Functional Prog
1984, pp. 184-197].
(1995-12-24)
Nearby terms:
standard interpretation « standard I/O « Standard
Lisp «
Standard ML » Standard ML of New Jersey »
standard semantics » Standard Widget Toolkit
|