Abstract
This document is intended to be a comprehensive, up-to-date list of all
known bugs, ambiguities, and other 'grey areas' in the revised Definition
of Standard ML [1], from serious technical problems to mere typos. It is
based on previous work by Stefan Kahrs, treating the original SML'90 Definition [2],
and was a side result of developing the HaMLet implementation of SML [3].
[1] Robin Milner, Mads Tofte, Robert Harper, David MacQueen. "The Definition of Standard ML" (Revised). The MIT Press, 1997.
[2] Stefan Kahrs. "Mistakes and Ambiguities in the Definition of Standard ML". University of Edinburgh, 1993.
[3] Andreas Rossberg. HaMLet. 2001.
Paper
History
- 2001/10/04: Initial version.
- 2001/10/11: Added minor issue: carriage return is not included as supported contro character in source code (Section 2.5). Some small clarifications.
- 2004/04/13: Reconsidered and removed scoping subtleties for type names as an issue (Section 4.10).
- 2004/06/22: Added minor issue: parsing ambiguities with sequential specification make scoping of sharing constraints ambiguous (Section 3.4).
- 2005/01/13: Added minor issue: missing side conditions ensuring consistent aritie in rules 64 and 78 (Section 5.7).
- 2005/01/26: Added typo in rule 28 (Section 4.10).
- 2006/07/18: Added principality issue with functors (Section 5.7).
- 2007/01/22: Added typo in definition of cutdown operator (Section 7.2).
- 2013/09/18: Added predantic issue: datatype replication rules 18 and 72 allow non-datatypes (Sections 4.10 and 5.7). Minor editorial tweaks.