(SML) Originally an attempt by Robin Milner <email@example.com> 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 <firstname.lastname@example.org>, and J. H. Reppy <email@example.com> at AT&T, and A. W. Appel <firstname.lastname@example.org>.
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 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.