Standard ML is a general-purpose programming language designed for large projects. This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers. Because computer programs are increasingly required to withstand rigorous analysis, it is all the more important that the language in which they are written be defined with full rigor.One purpose of a language definition is to establish a theory of meanings upon which the understanding of particular programs may rest. To properly define a programming language, it is necessary to use some form of tation other than a programming language. Given a concern for rigor, mathematical tation is an obvious choice. The authors have defined their semantic objects in mathematical tation that is completely independent of Standard ML.In defining a language one must also define the rules of evaluation precisely--that is, define what meaning results from evaluating any phrase of the language. The definition thus constitutes a formal specification for an implementation. The authors have developed eugh of their theory to give sense to their rules of evaluation.The Definition of Standard ML is the essential point of reference for Standard ML. Since its publication in 1990, the implementation techlogy of the language has advanced ermously and the number of users has grown. The revised edition includes a number of new features, omits little-used features, and corrects mistakes of definition.
David MacQueen is Professor of Computer Science at the University of Chicago.
David MacQueen, Mads Tofte, Robert Harper, Robin Milner