Standard ML

R. Harper, D. MacQueen and R. Milner

Abstract: In May 1985, the two-year process of designing Standard ML was brought to a successful conclusion at a meeting of fifteen people in Edinburgh. This report records the result.

Part 1 describes the final form of the Core Language, and supersedes the report ``The Standard ML Core Language'', CSR-168-84. The Core Language has undergone several careful reviews and revisions over the past two years, and is expected to be quite stable in future. It has been fully implemented and its operational semantics has been defined. The principal changes in this final version are the addition of record types, and a number of minor revisions of the syntax, including the introduction of new keywords fun and datatype.

The basic I/O facilities described in Part II are also the result of several design iterations and appear to be sufficiently well understood that little revision should be necessary.

While the module facilities described in Part III have been under consideration for almost as long as the core language, the fact that the experience of implementing these facilities and making use of them will suggest some revisions. For this reason, the report on modules is more expository and somewhat less formal than the other two documents. At some point in the not too distant future the material in all three documents should be unified to yield a reference manual for Standard ML.

The three parts are identical with the content of Volume II No 2 of Polymorphism, the ML/LCF/HOPE Newsletter.

LFCS report ECS-LFCS-86-2, 1986.

Previous | Index | Next