Errata for Oberon PDF texts of N. E. Wirth

These observations have been emailed to Prof. Wirth, but I have not heard a response regarding them.

Programming in Oberon

The 6 February 2014 PIO is a botch. If you have this version, you should download the current revision.

A spelling error was introduced to the last 2014 edition, not in 2011, at the end of section 15: types is misspelled as tpes.

The reference to GetDate is no longer valid for PO-2013.

The appendecies have lost some of the refinement that was in the 2011 PIO, e.g. the separation of standard functions and standard procedures. The EBNF is inconsistent with the text and the 2011 EBNF, as well as with the Report. Mistakes are present in the functions and procedures as compared with the report.

The 2004 PIO was used for the 6 February 2014 update. The appendencies were not corrected with the fix posted the next day. I have done a line for line comparison with the 2011 PIO and the 22.2.2014 PIO and the body text appears to be modified correctly. It is likely best to ignore the PIO appendix, or compare the 2011 appendix with the current report.

Oberon Report

The posted October 1990 Report, which was used as the beginning point for the Oberon-07 Reports, is missing two additions (or changes/clarifications) from the November 1990 report, and a third from the 1992 report (published with the Reiser PIO). The latter fixes a grammatical awkwardness in the introductory paragraph: ...and provides relations between them. These changes did not make it into the Oberon-07 Report. I have not compared the ETH publication with Wirth's posted PDF, but both the October and November ETH Reports are documented as 1 October 1990. It is possible the October ETH Report could have minor differences from the posted PDF on Wirth's Oberon page.

Algorithms and Data Structures, 2004 Oberon edition

The AD2012 PDF (there have been at least three so far) is a third-party revision of Wirth's 2004 Algorithms and Data Structures. It is the result of obtaining clarifications from Wirth during translation, and the experience of those applying the programs (primarily in Blackbox Component Builder, and published as a CPC subsystem). The revision has an independent typography.

I have not reviewed differences between the 2004 AD, and the 2012 version(s), therefore a list of changes with the 2004 original is not available. It is unclear where the new appendix on the Dijkstra loop, or the other appendecies, came from, nor is it clear what Wirth consulted on, and what are further changes made after. This errata works from Wirth's 2004 edition as the only official Oberon release (though Wirth did post an early revision of AD2012 to his site).

I notice the page numbers follow, or at least start with, the Modula-2 edition numbering, not the PDF.

On page 8, electronic page 4, the paragraph beginning Programming is a constructive activity has the following that has persisted since the M2 book:

...priciples out many cases...

The Pascal edition reads:

...principles out of many cases...

(The word activity is a change from art that appears intended.) The quotes missing, from the same paragraph, around recipe teaching can be confusing grammatically. Perhaps recipe-teaching without quotes might work too.

A section on enumeration should likely have been removed (the introduction to primitive data types), as Oberon does not support enumerated types.

Page 25 (45 in the Modula-2 edition) has the word mechanism misspelled as machanism. This is the section 1.8 (or 1.11 in the Modula-2 version) on sequences.

Six illustrations are missing from the 2004 edition. These appear to be rendering glitches from the Microsoft Word conversion to PDF:

Possibly intentional removals include the note from figure 4.4, and figures 4.39, 4.5, 4.40, 4.41, and 4.42, replaced(?) by a much simpler figure 4.40.