Mistakes and Ambiguities in the Definition of Standard ML

Stefan Kahrs

Abstract: The Definition of Standard ML contains several errors and ambiguities. Some of them have already been published in the 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.

LFCS report ECS-LFCS-93-257, April 1993.

Previous | Index | Next