School of Computing

Mistakes and ambiguities in the definition of Standard ML

Stefan Kahrs

LFCS Report ECS-LFCS-93-257, University of Edinburgh, April 1993 An update listing further errors can be found at t


The {\em Definition of Standard ML} contains several errors and ambiguities. Some of them have already been published in the {\em Commentary on Standard ML}, but the list given there is incomplete.

The paper lists all errors known to me today, including the errors listed in the Commentary. On most of the others I came across when writing the semantics of Extended ML. Most errors are supplied with an explanation ``what goes wrong'' and with a suggested correction. I understand ``error'' in a very broad sense --- ranging from typos to serious flaws in the rules. Some of the problems I mention are originated by a certain tension between formal definitions and informal explanations, e.g.\ overloading is informally explained though impossible in the given formal setting.

Some parts of the paper are difficult to understand without prior knowledge of the Definition and the Commentary, because I rely on the notation and jargon introduced in these books. However, the nature of this paper has it that the various sections do not depend on each other, making it possible for somebody not familiar with the entrails of SML to read the less technical sections on their own.

Download publication 94 kbytes

Bibtex Record

author = {Stefan Kahrs},
title = {Mistakes and Ambiguities in the definition of {S}tandard {ML}},
month = {April},
year = {1993},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {An update listing further errors can be found at {	t}.},
doi = {},
url = {},
    institution = {University of Edinburgh},
    number = {ECS-LFCS-93-257},
    type = {LFCS Report},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014