The design of a successor to pascal

  • Ken Robinson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 79)


A new programming language intended as a contribution to the development of Pascal is discussed.
  • The language supports all of the type constructs of Pascal except the variant record.

  • A class construct has been provided to allow the implementation of abstract data types and the hiding of the actual implementation.

  • A type union replaces the variant record.

  • Parameterized types allow procedures to operate on wider classes of conformable data types than Pascal.

  • Predefined data types of "complex" and "string" have been added.

  • A new concept called a "selector" has been added.

  • The var parameter has been discarded. Parameter modes are now const, value, result and value result.

  • Functions are generalized to any type and additionally may return more than one value.

  • The assignment statement is replaced by the concurrent assignment statement.

  • The if-, while- and repeat-statements are replaced by Dijkstra's if- and do-statements.

  • A pipeline facility is provided for communication and synchronization of sequential processes.


Programming Language Variant Record Abstract Data Type Class Construct Separate Compilation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Ammann, U. (1970) "Pascal-6000 compiler", ETH Zurich.Google Scholar
  2. Ammann, U. (1974) "The method of structured programming applied to the development of a compiler", International Computing Symp. 1973, (Günther, et al, Eds), 93–99.Google Scholar
  3. Barron, D.W., Buxton, J.N., Hartley, D.F., Nixon, F., Strachey, G.S. (1963) "The main features of CPL", Computer Journal 6, 134–143.Google Scholar
  4. Backus, J. (1978) "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs", Comm ACM 21, 8(August), 613–641.Google Scholar
  5. Brinch Hansen, P. (1976) "The programming language Concurrent Pascal", I.E.E.E. Trans. Software Eng. 1, 2 (June), 199–207.Google Scholar
  6. Dahl, O-J., et al. (1967) "SIMULA 67, common base language", Norwegian Computing Centre, Forskningveien, Oslo.Google Scholar
  7. Dijkstra, E.W.D. (1975) "Guarded commands, nondeterminacy and formal derivation of programs", Comm ACM 18, 8 (August), 453–457.Google Scholar
  8. Dijkstra, E.W.D. (1976) "A discipline of programming", Prentice-Hall.Google Scholar
  9. Hoare, C.A.R. (1971) "Procedures and parameters; an axiomatic approach", Symposium on Semantics of Algorithmic Languages (E.Engeler, ed), Lecture Notes in Mathematics 188, Springer-Verlag.Google Scholar
  10. Hoare, C.A.R. (1972) "Proof of correctness of data representations", Acta Informatica 1, 271–281.Google Scholar
  11. Hoare, C.A.R. (1978) "Communicating sequential processes", Comm ACM 21,8 (August), 666–677.Google Scholar
  12. Hoare, C.A.R. & Wirth, N. (1973) "An axiomatic definition of Pascal", Acta Informatica2, 335–355.Google Scholar
  13. Jensen,K. & Wirth,N. (1975) "Pascal User Manual and Report", Springer-Verlag.Google Scholar
  14. Wirth, N. (1971) "The programming language Pascal", Acta Informatica 1,1, 35–63.Google Scholar
  15. Wirth, N. (1975) "An assessment of the programming language Pascal", SIGPLAN Notices 10,6 (June), 23–30.Google Scholar
  16. Wirth, N. (1977) "What can we do about the unnecessary diversity of notations for syntactic definitions?", Comm ACM" 20,11 (November), 822–823.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Ken Robinson
    • 1
  1. 1.Department of Computer ScienceUniversity of New South WalesAustralia

Personalised recommendations