Revision of ANSI Smalltalk-98 Errata from Tue, 11/27/2007 - 23:32

The ANSI Smalltalk Standard was first published in 1998. Since that time, users of the standard have uncovered many places where the standard is unclear, inconsistent, or incorrect. Therefore, the ANSI Smalltalk-98 Errata was created to capture these errors and inconsistencies and to propose corrections for them.

I am organizing the errata pages based on section headings of the original standard (ex., "Errata, 3_4 Method Grammer") along with a page for "Errata, Miscellaneous" to hold items that span multiple sections. As you can see, the section numbers use an underscore (_) rather than a period (.) because dotted numbers are parsed as ip addresses by the wiki parser.

THE FOLLOWING TEXT WILL BE MOVED TO SPECIFIC ERRATA PAGES

Some more issues:
(I wrote a parser for the standard a long time ago and found many problems. Here are some from my notes, perhaps they can help us to decide the categories of problems we are interested in - peter)

  • There is a global named TimeLocal in de standard text by mistake
  • The protocol grouping 'Date and Time Protocols' is sometimes called 'DateTime Protocols'
  • The protocol grouping 'File Stream Protocols' is sometimes called 'File I/O Protocols'
  • the return values specifications for these message specifications are problematic '5.6.2.21' '5.6.2.29' 5.6.2.4'
  • 5.5.1.2 has 'readable' where 'readableString' is intended
  • 5.7.18.11 has a mistake, should have:

nameString := 'newElements'
typesString := 'sequencedCollection'
aliasingString := 'unspecified'.

  • in parameter specifications the standard text does not always have a space between the parameter name and the parameter type
  • some message specifications have no synopsis line
  • the structure of these return values specifications is problematic:
    • '5.3.1.15' '5.3.1.16' "have comment lines added on"
    • '5.3.8.1' "has no return values section header"
  • for #withAll: the synopsis in all the redefinitions is better than the one in the definition
  • In 5.3.4.10, the word "lowercase" is used where "uppercase" is meant, in the following sentence: "Implementations may define other characters to be lowercase characters."
Syndicate content

User login