Higher-Order and Symbolic Computation

, Volume 13, Issue 1–2, pp 119–129 | Cite as

Abstract Models of Storage

  • Robert D. Tennent
  • Dan R. Ghica


This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages.

assignment storage allocation locality parametricity irreversibility 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abramsky, S. and McCusker, G. Linearity, sharing and state: A fully abstract game semantics for IDEALIZED ALGOL with active expressions. In O'Hearn and Tennent [37], pp. 297-329 of Vol. 2.Google Scholar
  2. 2.
    Abramsky, S. and McCusker, G. Full abstraction for IDEALIZED ALGOL with passive expressions. Theoretical Computer Science 227 (1999) 3-42.Google Scholar
  3. 3.
    Bainbridge, S., Freyd, P.J., Scedrov, A., and Scott, P.J. Functorial polymorphism. Theoretical Computer Science 70(10) (1990) 35-64; Corrigendum in 71(3) (1990) 431.Google Scholar
  4. 4.
    Barron, D.W., Buxton, J.N., Hartley, D.F., Nixon, E., and Strachey, C. The main features of CPL. The Computer J. 6 (1963) 134-143.Google Scholar
  5. 5.
    Bekić, H. and Walk, K. Formalization of storage properties. In Symposium on Semantics of Algorithmic Languages, E. Engeler (Ed.). Springer-Verlag, Berlin, 1971, pp. 28-61. Lecture Notes in Mathematics, Vol. 188. Also, in Programming Languages and their Definition, C.B Jones (Ed.). Springer Verlag, Berlin, 1984, pp. 56-85. Lecture Notes in Computer Science, Vol. 177.Google Scholar
  6. 6.
    Brookes, S., Main, M., Melton, A., and Mislove, M. (Eds.). Mathematical Foundations of Programming Semantics, Eleventh Annual Conference, Tulane University, New Orleans, Louisiana, March 29-April 1, 1995. Elsevier Science ( Electronic Notes in Theoretical Computer Science, Vol. 1.Google Scholar
  7. 7.
    Burstall, R.M. Some aspects of CPL semantics. Technical Report 3, Experimental Programming Unit, University of Edinburgh, 1965.Google Scholar
  8. 8.
    Burstall, R.M. Semantics of assignment. In Dale and Michie [11], pp. 3-30.Google Scholar
  9. 9.
    Burstall, R.M. and Popplestone, R.J. POP-2 reference manual. In Dale and Michie [11], pp. 205-244.Google Scholar
  10. 10.
    Buxton, J.N., Coulouris, G.F., Hartley, D.F., Nixon, E., Park, D., Richards, M., and Strachey, C. (Eds.). CPL working papers. Technical report, University of London Institute of Computer Science and Cambridge University Mathematical Laboratory, July 1966. Privately circulated.Google Scholar
  11. 11.
    Dale, E. and Michie, E. (Eds.). Machine Intelligence, Vol. 2. Oliver and Boyd, Edinburgh, and American Elsevier, 1968.Google Scholar
  12. 12.
    Fiore, M.P., Jung, A., Moggi, E., O'Hearn, P.W., Riecke, J., Rosolini, G., and Stark, I. Domains and denotational semantics: history, accomplishments and open problems. Bulletin of the European Association for Theoretical Computer Science 59 (1996) 227-256. Also available by anonymous FTP as at Scholar
  13. 13.
    Floyd, R.W. Assigning meanings to programs. In Mathematical Aspects of Computer Science, J.T. Schwartz (Ed.). Vol. 19 of Proceedings of Symposia in Applied Mathematics, American Mathematical Society, Providence, Rhode Island, 1967, pp. 19-32Google Scholar
  14. 14.
    Freyd, P., O'Hearn, P.W., Power, A.J., Takeyama, M., Street, R., and Tennent, R.D. Bireflectivity. Theoretical Computer Science 228 (1999) 5-47.Google Scholar
  15. 15.
    Ghica, D.R. Semantics of dynamic variables in ALGOL-like languages. Master's thesis, Department of Computing and Information Science, Queen's University, Kingston, Canada, 1997.Google Scholar
  16. 16.
    Gordon, M.J.C. The denotational semantics of sequential machines. Information Processing Letters 10(1) (1980) 1-3.Google Scholar
  17. 17.
    Gries, D. (Ed.). Programming Methodology, A Collection of Articles by IFIP WG 2.3. Springer-Verlag, New York, 1978.Google Scholar
  18. 18.
    Halpern, J.Y., Meyer, A.R., and Trakhtenbrot, B.A. The semantics of local storage, or what makes the free-list free? (preliminary report). In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, Utah, 1984. ACM, New York, pp. 245-257.Google Scholar
  19. 19.
    Henhapl, W. A storage model derived from axioms. Technical Report TR 25.100, IBM Laboratory, Vienna, 1969.Google Scholar
  20. 20.
    Hoare, C.A.R. An axiomatic basis for computer programming. Comm. ACM 12(10) (1969) 576-580 and 583.Google Scholar
  21. 21.
    Lucas, P., Lauer, P., and Stigleitner, H. Method and notation for the formal definition of programming languages. Technical Report TR 25.087, IBM Laboratory, Vienna, 1968.Google Scholar
  22. 22.
    Lucas, P. and Walk, K. On the formal description of PL/I. Annual Review in Automatic Programming, Vol. 6, Pergammon Press, London, 1969, pp. 105-152.Google Scholar
  23. 23.
    McCarthy, J. Towards a mathematical science of computation. Information Processing (1962), North Holland, 1963, pp. 21-28.Google Scholar
  24. 24.
    McCarthy, J. A formal description of a subset of ALGOL. In Steel [64], pp. 1-7.Google Scholar
  25. 25.
    Meyer, A.R. and Sieber, K. Towards fully abstract semantics for local variables: preliminary report. In Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, San Diego, California, 1988. ACM, New York, pp. 191-203. Reprinted as Ch. 7 of [37].Google Scholar
  26. 26.
    Milne, R.E. The formal semantics of computer languages and their implementations. Ph.D. Thesis, University of Cambridge, and Technical Microfiche TCF-2, Programming Research Group, University of Oxford, 1974.Google Scholar
  27. 27.
    Milne, R.E. and Strachey, C. A Theory of Programming Language Semantics. Chapman and Hall, London, and Wiley, New York, 1976.Google Scholar
  28. 28.
    Moggi, E. An abstract view of programming languages. Technical Report ECS-LFCS-90-113, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1990.Google Scholar
  29. 29.
    Morrisett, J.G. Refining first-class stores. In SIPL [62], pp. 73-87.Google Scholar
  30. 30.
    O'Hearn, P.W. A model for syntactic control of interference. Mathematical Structures in Computer Science 3(4) (1993) 435-465.Google Scholar
  31. 31.
    O'Hearn, P.W., Power, A.J., Takeyama, M., and Tennent, R.D. Syntactic control of interference revisited. Theoretical Computer Science 228 (1999) 175-210. Preliminary version [6] reprinted as Ch. 18 of [7].Google Scholar
  32. 32.
    O'Hearn, P.W. and Reynolds, J.C. From ALGOL to polymorphic linear lambda-calculus. To appear in J. ACM. Available by anonymous FTP as at Scholar
  33. 33.
    O'Hearn, P.W. and Tennent, R.D. Semantics of local variables. In Applications of Categories in Computer Science M.P. Fourman, P.T. Johnstone, and A.M. Pitts (Eds.). Cambridge University Press, Cambridge, England, 1992, pp. 217-238. London Mathematical Society Lecture Note Series, Vol. 177.Google Scholar
  34. 34.
    O'Hearn, P.W. and Tennent, R.D. Relational parametricity and local variables. In Conference Record of the Twentieth AnnualACMSIGPLAN-SIGACTSymposium on Principles of Programming Languages, Charleston, South Carolina, 1993. ACM, New York, pp. 171-184.Google Scholar
  35. 35.
    O'Hearn, P.W. and Tennent, R.D. Semantical analysis of specification logic, 2. Information and Computation 107(1) (1993) 25-57. Reprinted as Ch. 14 of [37].Google Scholar
  36. 36.
    O'Hearn, P.W. and Tennent, R.D. Parametricity and local variables. J.ACM 42 (3) (1995) 658-709. Preliminary version appeared as [34] Reprinted as Ch. 16 of [37].Google Scholar
  37. 37.
    O'Hearn, P.W. and Tennent, R.D. (Eds.). ALGOL-like Languages. Progress in Theoretical Computer Science. Birkhäuser, Boston, 1997. Two volumes.Google Scholar
  38. 38.
    Oles, F.J. A category-theoretic approach to the semantics of programming languages. Ph.D. Thesis, Syracuse University, Syracuse, N.Y., 1982.Google Scholar
  39. 39.
    Oles, F.J. Type algebras, functor categories and block structure. In Algebraic Methods in Semantics, M. Nivat and J.C. Reynolds (Eds.). Cambridge University Press, Cambridge, England, 1985, pp. 543-573.Google Scholar
  40. 40.
    Oles, F.J. Functor categories and store shapes. In O'Hearn and Tennent [37], Ch. 11, pp. 3-12 of Vol. 2.Google Scholar
  41. 41.
    Park, D. Some semantics for data structures. In Machine Intelligence, Vol. 3, D. Michie (Ed.). American Elsevier, New York, 1968, pp. 351-371.Google Scholar
  42. 42.
    Pitts, A. and Stark, I. Observable properties of higher order functions that dynamically create local names, or: What's new? In Mathematical Foundations of Computer Science, A.M. Borzyszkowski and S. Sokolowski (Eds.). Gdansk, Poland, 1993. Springer-Verlag, Berlin, pp. 122-140. Lecture Notes in Computer Science, Vol. 711.Google Scholar
  43. 43.
    Plotkin. G. and Abadi, M. A logic for parametric polymorphism. In Typed Lambda Calculi and Applications. M. Bezen and J.F. Groote (Eds.). Utrecht, The Netherlands, March 1993. Springer-Verlag, Berlin, pp. 361-375. Lecture Notes in Computer Science, Vol. 664.Google Scholar
  44. 44.
    Randall, B. System structure for software fault tolerance. IEEE Transactions in Software Engineering SE-1(2) (1975) 220-232.Google Scholar
  45. 45.
    Reddy, U. When parametricity implies naturality. Available by anonymous FTP as at, 1997.Google Scholar
  46. 46.
    Reddy, U.S. Global state considered unnecessary: Introduction to object-based semantics. LISP and Symbolic Computation 9(1) (1996) 7-76. Reprinted as Ch. 19 of [37].Google Scholar
  47. 47.
    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
  48. 48.
    Reynolds, J.C. A polymorphic model of ALGOL. Unpublished manuscript, 1975.Google Scholar
  49. 49.
    Reynolds, J.C. Syntactic control of interference. In Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona, January 1978. ACM, New York, pp. 39-46. Reprinted as Ch. 10 of [37].Google Scholar
  50. 50.
    Reynolds, J.C. The Craft of Programming. Prentice-Hall International, London, 1981.Google Scholar
  51. 51.
    Reynolds, J.C. The essence of ALGOL. In Algorithmic Languages, J.W. de Bakker and J.C. van Vliet (Eds.). Proceedings of the International Symposium on Algorithmic Languages, Amsterdam, October 1981. North-Holland, Amsterdam, pp. 345-372. Reprinted as Ch. 3 of [37].Google Scholar
  52. 52.
    Reynolds, J.C. IDEALIZED ALGOL and its specification logic. In Tools and Notions for Program Construction, D. Néel (Ed.). Nice, France, December 1981. Cambridge University Press, Cambridge, 1982. Reprinted as Ch. 6 of [37].Google Scholar
  53. 53.
    Reynolds, J.C. Types, abstraction and parametric polymorphism. In Information Processing 83, R.E.A. Mason (Ed.). Paris, France, 1983. North-Holland, Amsterdam, pp. 513-523.Google Scholar
  54. 54.
    Reynolds, J.C. Syntactic control of interference, part 2. In Automata, Languages and Programming, 16th International Colloquium, G. Ausiello, M. Dezani-Ciancaglini, and S. Ronchi Della Rocca (Eds.). Stresa, Italy, July 1989. Springer-Verlag, Berlin, pp. 704-722. Lecture Notes in Computer Science, Vol. 372.Google Scholar
  55. 55.
    Scott, D.S. A Type-theoretical alternative to CUCH, ISWIM, OWHY. Privately circulated memo, Oxford University, October 1969. Published in Theoretical Computer Science 121(1/2) (1993) 411-440.Google Scholar
  56. 56.
    Scott, D.S. Outline of a mathematical theory of computation. In Proceedings of the Fourth Annual Princeton Conference on Information Sciences and Systems, Princeton, 1970. Department of Electrical Engineering, Princeton University, pp. 169-176. Also Technical Monograph PRG-2, Oxford University Computing Laboratory, Programming Research Group, Oxford.Google Scholar
  57. 57.
    Scott, D.S. Mathematical concepts in programming language semantics. In Proc. 1972 Spring Joint Computer Conference, AFIPS Press, Montvale, N.J., 1972, pp. 225-234.Google Scholar
  58. 58.
    Scott, D.S. An appreciation of Christopher Strachey and his work. Foreword to J.E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, Cambridge, Massachusetts, and London, England, 1977, pp. xv-xxx.Google Scholar
  59. 59.
    Scott, D.S. and Strachey, C. Toward a mathematical semantics for computer languages. In Proceedings of the Symposium on Computers and Automata, J. Fox (Ed.). Polytechnic Institute of Brooklyn Press, New York, 1971, pp. 19-46. Microwave Research Institute Symposia Series, Vol. 21. Also Technical Monograph PRG-6, Oxford University Computing Laboratory, Programming Research Group, Oxford.Google Scholar
  60. 60.
    Sieber, K. New steps towards full abstraction for local variables. In SIPL [62], pp. 88-100.Google Scholar
  61. 61.
    Sieber, K. Full abstraction for the second order subset of an ALGOL-like language. Mathematical Foundations of Computer Science, Kôsice, Slovakia, August 1994. Springer-Verlag, Berlin, pp. 608-617. Lecture Notes in Computer Science, Vol. 841. Reprinted as Ch. 15 of [37].Google Scholar
  62. 62.
    ACM SIGPLAN Workshop on State in Programming Languages. Copenhagen, Denmark, June 12, 1993. Technical Report RR-968, Department of Computer Science, Yale University.Google Scholar
  63. 63.
    Stark, I. Categorical models for local names. LISP and Symbolic Computation 9(1) (1996) 77-107.Google Scholar
  64. 64.
    Steel, T.B., Jr. (Ed.). Formal Language Description Languages for Computer Programming, Proceedings of the IFIP Working Conference, Baden bei Wien, Austria, September 1964. North-Holland, Amsterdam 1966.Google Scholar
  65. 65.
    Strachey, C. CPL Reference Manual (Incomplete Draft). In [10].Google Scholar
  66. 66.
    Strachey, C. Fundamental concepts in programming languages. Unpublished lecture notes, International Summer School in Computer Programming, Copenhagen, August 1967. Reprinted in this volume.Google Scholar
  67. 67.
    Strachey, C. Towards a formal semantics. In Steel [64], pp. 198-220.Google Scholar
  68. 68.
    Strachey, C. The varieties of programming language. In Proceedings of the International Computing Symposium, Venice, April 1972. Cini Foundation, Venice, pp. 222-233.Google Scholar
  69. 69.
    Strachey, C. The varieties of programming language. Technical monograph PRG-10, Oxford University Computing Laboratory, Programming Research Group, Oxford, March 1973. Revised and slightly expanded version of [68]. Reprinted as Ch. 2 of [37].Google Scholar
  70. 70.
    Tennent, R.D. Semantics of interference control. Theoretical Computer Science 27 (1983) 297-310.Google Scholar
  71. 71.
    Tennent, R.D. Semantical analysis of specification logic. Information and Computation 85(2) (1990) 135-162. Reprinted as Ch. 13 of [37].Google Scholar
  72. 72.
    van, Wijngaarden, A., Mailloux, B.J., Peck, J.E.L., and Koster, C.H.A. (Ed.) Report on the algorithmic language ALGOL 68. Numerische Mathematik 14 (1969) 79-218.Google Scholar

Copyright information

© Kluwer Academic Publishers 2000

Authors and Affiliations

  • Robert D. Tennent
    • 1
  • Dan R. Ghica
    • 2
  1. 1.Computing and Information ScienceQueen's UniversityKingstonCanada
  2. 2.Computing and Information ScienceQueen's UniversityKingstonCanada

Personalised recommendations