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 <http://brinch-hansen.net/>.

----
[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