The Definition of Standard ML: Revised

Front Cover
MIT Press, 1997 - Computers - 114 pages

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 notation other than a programming language. Given a concern for rigor, mathematical notation is an obvious choice. The authors have defined their semantic objects in mathematical notation 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 enough 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 technology of the language has advanced enormously 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.

From inside the book

Contents

Introduction
1
Dynamic Semantics for the Core
6
Syntax of Modules
11
Static Semantics for Modules
29
1
37
Dynamic Semantics for Modules
47
Programs
53
Full Grammar
61
What is New?
81
Replication of Datatypes
87
Nonexpansive Expressions
91
15
92
37
97
Index
101
71
103
81
110

The Initial Static Basis
67
The Development of ML
73

Other editions - View all

Common terms and phrases

About the author (1997)

Robin Milner was Professor Emeritus of Computer Science at the University of Cambridge, UK, and Professor at the Informatics Forum in the University of Edinburgh.

Bibliographic information