無印 Modula は Oberon に近いミニマリズム?
ここで無印 Modula とは、Modula-2 ではなく、初代の Modula のことを指します。
link.springer.com
この記事に、pascal と modula の相違点がまとめられています。これによりますと、この時点ですでに variant record, FOR 文, 集合型(set type), 部分範囲型(subrange type) などが省かれており、Oberon での切り捨てがこの時点ですでに萌芽していたことが分かります。
FOR 文を捨てて、WHILE 一本さらしに巻いて突き進むのが 1976 年の時点というのが興味深いです。
また E.W.Dijkstra の『構造化プログラミング』の中の C.A.R.Hoare の「データ構造化序論」は Wirth の PASCAL と密接な関係があるわけですが*1、理由はともあれ早くもその中の直和(variant 型)、べき集合(集合型)、数え上げ(部分範囲型)が要らない子になっているのも面白いです。
*1:Recollections about the development of Pascal p.103 "Whereas the basic framework of Pascal stems from ALGOL W, many of the new features emerged from suggestions made by C. A. R. Hoare, including enumeration, subrange, set, and file types. The form of COBOL-like record types was due to Hoare, as well as the idea to represent a computer's "logical words" by a well-known abstraction--namely, sets (of small integers). These "bits and pieces" were typically presented and discussed during meetings of the IFIP Working Group 2.1 (ALGOL), and thereafter appeared as communications in the ALGOL Bulletin. They were collected in Hoare's Notes on Data Structuring [Hoare 1972]."