Abstract : [....] Concurrent Pascal is an abstract programming language for computer operating systems. The language extends sequential Pascal with the ''monitor'' concept for structured concurrent programming. Compilation of Concurrent Pascal on a minicomputer is done by dividing the compiler into 7 sequential passes. The passes, written in sequential Pascal, generate virtual code that can be interpreted on any 16-bit minicomputer. It has been running on a [DEC] PDP-11/45 computer at Caltech since January 1975.(Hartman 1977) Under ''Further Work'' (p. 68--69), Hartman criticizes the removal of ''classes'' from "sequential Pascal" as a "mistake": "The compilers would probably be smaller and simpler if they were written with classes." Although his conclusion about compiler-implementation is sensible, his criticism about language-design is puzzling. Classes are an object-oriented feature pioneered by SimulaLanguage; no such feature is documented in published sources on PascalLanguage, whether as a tentative feature later abandoned, or even as a feature intended for some other keyword or syntax[1]. Perhaps the criticism is to the Caltech "sequential Pascal" compiler, which was apparently ''not'' based at all on the Pascal-P "implementation kit" of early 1973, thus a "from scratch" effort that'd be amenable to any language extensions that nonpurist implementors could devise. References * Per Brinch Hansen 1975: "The programming Language Concurrent Pascal". ''IEEE Transactions on Software Engineering'', vol. 1, num. 2 (June 1975), p. 199--207. * Alfred C. Hartman 1977: ''A Concurrent Pascal compiler for minicomputers'' (Lecture Notes in Computer Science num. 50). Springer-Verlag: Berlin (''BRD''/FRG), 119 pp. ISBN 3-540-08240-9 (S-V: Berlin); 0-387-08240-9 (S-V: New York). * Per Brinch Hansen 1966--2002: "ESSAYS IN COMPUTING: Selected Papers". Includes Concurrent Pascal and other languages or compilers, notably Edison (1981) and Joyce (1987). Accessible at . ---- [1] It wouldn't be ''too'' surprising if despite the absence of documentation for a (hypothetically) once-intended ''class'' feature in PascalLanguage, the original implementors of that WirthLanguage were gradually soured on it. Consider some ambiguities, ''ad hoc'' solutions, and other vexations that survived: * ''type-equivalence'' (''name'' vs. ''structural''). * Mutually referencing pointers-to-record in definitions of complex data structures. * The barely documented ''forward'' declaration for ''function''s and ''procedure''s. --ClayPhipps (2014-10-17) ---- CategoryProgrammingLanguage