Concurrent Pascal

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


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


CategoryProgrammingLanguage


EditText of this page (last edited October 17, 2014) or FindPage with title or text search