Persistent first class procedures are enough

  • Malcolm P. Atkinson
  • Ronald Morrison
Session 4 Program Construction
Part of the Lecture Notes in Computer Science book series (LNCS, volume 181)


We describe how the provision of a persistent programming environment together with a language that supports first class procedures may be used to provide the semantic features of other object modelling languages. In particular the effects of information hiding, data protection and separate compilation are provided and a comparison of the method with more traditional techniques is examined.


Structure Class Static Chain Class Procedure Primitive Function Abstract Type 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Atkinson, M.P., Bailey, P.J., Cockshott, W.P., Chisholm, K.J. & Morrison, R. An approach to persistent programming. Computer Journal 26, 4 (1983), 360–365.Google Scholar
  2. 2.
    Atkinson, M.P., Bailey, P.J., Cockshott, W.P., Chisholm, K.J. & Morrison, R. Progress with persistent programming, in Database — role and structure, Cambridge University Press, Cambridge, 1984.Google Scholar
  3. 3.
    Atkinson, M.P., Bailey, P.J., Cockshott, W.P. & Morrison, R. PS-algol reference manual. Universities of Edinburgh and St Andrews PPR-8 (1984).Google Scholar
  4. 4.
    Birtwistle, G.M., Dahl, O.J., Myrhaug, B & Nygaard, K. SIMULA BEGIN. Auerbach (1973).Google Scholar
  5. 5.
    Cockshott, W.P., Atkinson, M.P., Bailey, P.J., Chisholm, K.J. & Morrison, R. The persistent object management system. Software, Practice & Experience 14 (1984).Google Scholar
  6. 6.
    Evans, A. PAL a language designed for teaching programming linguistics. Proc. ACM 23rd. Nat. Conf. Brandin Systems Press (1968), 395–403.Google Scholar
  7. 7.
    Horning, J.J. Some desirable properties of data abstraction facilities. ACM Sigplan Notices 11 (1976), 60–62.Google Scholar
  8. 8.
    Ichbiah et al,. Rationale of the design of the programming language Ada. ACM Sigplan Notices 14, 6 (1979).Google Scholar
  9. 9.
    Johnston, J.B. A contour model of block structured processes. ACM Sigplan Notices 6, 2 (1971).Google Scholar
  10. 10.
    Lampson, B.W., Horning, J.J., London, R.L., Mitchell, J.G. & Popek, G.J. Report on the programming language Euclid. ACM Sigplan Notices 12, 2 (1977), 1–79.Google Scholar
  11. 11.
    Landin, P.J. The next 700 programming languages. Comm.ACM 9, 3 (1966), 157–164.Google Scholar
  12. 12.
    Liskov, B.H., Synder, A., Atkinson, R. & Schiffert, C. Abstraction mechanisms in CLU. Comm.ACM 20, 8 (1977), 564–576.Google Scholar
  13. 13.
    Liskov, B. & Zilles, S.N., Programming with abstract data types. ACM Sigplan Notices 9, 4 (1974), 50–59.Google Scholar
  14. 14.
    McCarthy, J. et al. Lisp 1.5 Programmers manual. M.I.T. Press Cambridge Mass. (1962).Google Scholar
  15. 15.
    Milner, R A proposal for standard ML. Technical Report CSR-157-83 University of Edinburgh. (1983).Google Scholar
  16. 16.
    Morris, J.H. Protection in programming languages. Comm.ACM 16, 1 (1973), 15–21.Google Scholar
  17. 17.
    Morrison, R. S-algol language reference manual. University of St Andrews CS/79/1 (1979).Google Scholar
  18. 18.
    Morrison, R. A method of implementing procedure entry and exit. Software Practice and Experience 7, 5 (1977), 535–537.Google Scholar
  19. 19.
    Naur, P. et al. Revised report on the algorithmic language Algol 60. Comm.ACM 6, 1 (1963), 1–17.Google Scholar
  20. 20.
    Nori, K.V. et al. The Pascal P compiler implementation notes. Technical Report, 10 Zurich (1974).Google Scholar
  21. 21.
    Randell, B. & Russell, L.J. Algol 60 Implementation. Academic Press (1964).Google Scholar
  22. 22.
    Reynolds, J.C. Gedanken a simple typeless language based on the principle of completeness and the reference concept. Comm.ACM 13, 5 (1970), 308–319.Google Scholar
  23. 23.
    Strachey, C. Fundamental concepts in programming languages. Oxford University (1967).Google Scholar
  24. 24.
    Turner, D.A. SASL language manual. University of St.Andrews CS/79/3 (1979).Google Scholar
  25. 25.
    Wirth, N. & Weber, H. EULER a generalisation of algol. Comm.ACM 9, 1 (1966), 13–23.Google Scholar
  26. 26.
    Wirth, N. The programming language Pascal. Acta Informatica 1, 1 (1971), 35–63.Google Scholar
  27. 27.
    Wirth, N. Programming in Modula-2: Second Edition. Springer-Verlag, Berlin, 1983.Google Scholar
  28. 28.
    Wulf, W.A., London, R.L. & Shaw, M. An introduction to the construction and verification of Alphard programs. IEEE Soft. Eng SE-2, 4 (1976), 253–265.Google Scholar
  29. 29.
    Zilles, S.N. Procedural encapsulation: a lingustic protection technique. ACM Sigplan Notices 8, 9 (1973).Google Scholar
  30. 30.
    van Wijngaarden, A. et al. Report on the algorithmic language Algol 68. Numerische Mathematik 14,1 (1969), 79–218.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1984

Authors and Affiliations

  • Malcolm P. Atkinson
    • 1
    • 2
  • Ronald Morrison
    • 1
    • 2
  1. 1.University of GlasgowGlasgowScotland
  2. 2.University of St AndrewsSt AndrewsScotland

Personalised recommendations