Possible World Semantics for General Storage in Call-By-Value

  • Paul Blain Levy
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2471)


We describe a simple denotational semantics, using possible worlds, for a call-by-value language with ML-like storage facilities, allowing the storage of values of any type, and the generation of new storage cells. We first present a criticism of traditional Strachey semantics for such a language: that it requires us to specify what happens when we read non-existent cells. We then obtain our model by modifying the Strachey semantics to avoid this problem.

We describe our model in 3 stages: first no storage of functions or recursion (but allowing storage of cells), then we add recursion, and finally we allow storage of functions. We discuss similarities and differences between our model and Moggi’s model of ground store. A significant difference is that our model does not use monadic decomposition of the function type.


Denotational Semantic Annual IEEE Symposium World Semantic General Storage Game Semantic 
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]
    Ahmed, A., Appel, A., Virga, R.: A stratified semantics of general references embeddable in higher-order logic. In: Proceedings of IEEE Symposium on Logic in Computer Science, Copehagen, 2002. (2002) to appearGoogle Scholar
  2. [2]
    Kelsey, R., Clinger, W., (Editors), J.R.: Revised5 report on the algorithmic language Scheme. ACM SIGPLAN Notices 33 (1998) 26–76Google Scholar
  3. [3]
    Moggi, E.: An abstract view of programming languages. Technical Report ECS-LFCS-90-113, Dept. of Computer Science, Edinburgh Univ. (90)Google Scholar
  4. [4]
    Plotkin, G.D., Power, A. J.: Notions of computation determine monads. In: Proceedings of Foundations of Software Science and Computation Structures, Grenoble, France (FoSSaCS’ 02). LNCS (2002) to appearGoogle Scholar
  5. [5]
    Stark, I. D.B.: Names and Higher-Order Functions. PhD thesis, University of Cambridge (1994)Google Scholar
  6. [6]
    Abramsky, S., Honda, K., McCusker, G.: A fully abstract game semantics for general references. Proceedings, Thirteenth Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society Press (1998)Google Scholar
  7. [7]
    Moggi, E.: Notions of computation and monads. Information and Computation 93 (1991) 55–92zbMATHCrossRefMathSciNetGoogle Scholar
  8. [8]
    Pitts, A. M.: Relational properties of domains. Information and Computation 127 (1996) 66–90 (A preliminary version of this work appeared as Cambridge Univ. Computer Laboratory Tech. Rept. No. 321, December 1993.)zbMATHCrossRefMathSciNetGoogle Scholar
  9. [9]
    Smyth, M., Plotkin, G.D.: The category-theoretic solution of recursive domain equations. SIAM J. Computing 11 (1982)Google Scholar
  10. [10]
    Abramsky, S., Jagadeesan, R., Malacaria, P.: Full abstraction for PCF (extended abstract). In Hagiya, M., Mitchell, J. C., eds.: Theoretical Aspects of Computer Software. International Symposium TACS’94. Volume 789 of LNCS., Sendai, Japan, Springer-Verlag (1994) 1–15Google Scholar
  11. [11]
    Stark, I.: A fully abstract domain model for the π-calculus. In: Proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society Press (1996) 36–42Google Scholar
  12. [12]
    Freyd, P. J.: Algebraically complete categories. In Carboni, A., et al., eds.: Proc. 1990 Como Category Theory Conference, Berlin, Springer-Verlag (1991) 95–104 Lecture Notes in Mathematics Vol. 1488Google Scholar
  13. [13]
    Power, A. J., Thielecke, H.: Closed Freyd-and kappa-categories. In: Proc. ICALP’ 99. Volume 1644 of LNCS., Springer-Verlag, Berlin (1999) 625–634Google Scholar
  14. [14]
    Jung, A.: Colimits in DCPO. 3-page manuscript, available by fax (1990)Google Scholar
  15. [15]
    Levy, P.B.: Call-by-push-value: a subsuming paradigm (extended abstract). In Girard, J.Y., ed.: Typed Lambda-Calculi and Applications. Volume 1581 of LNCS., Springer (1999) 228–242CrossRefGoogle Scholar
  16. [16]
    Levy, P. B.: Call-by-push-value. PhD thesis, Queen Mary, University of London (2001)Google Scholar
  17. [17]
    Odersky, M.: A functional theory of local names. In ACM, ed.: Proceedings of 21st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), New York, NY, USA, ACM Press (1994) 48–59CrossRefGoogle Scholar
  18. [18]
    O’Hearn, P. W., Tennent, R. D.: Semantics of local variables. In Fourman, M. P., Johnstone, P. T., Pitts, A.M., eds.: Applications of Categories in Computer Science. Proceedings of the LMS Symposium, Durham July 1991, Cambridge University Press (1992) 217–238Google Scholar
  19. [19]
    Oles, F. J.: A Category-Theoretic Approach to the Semantics of Programming Languages. Ph. D. dissertation, Syracuse University (1982)Google Scholar
  20. [20]
    Reynolds, J. C.: The essence of Algol. In de Bakker, J. W., van Vliet, J. C., eds.: Algorithmic Languages, Amsterdam, North-Holland (1981) 345–372Google Scholar
  21. [21]
    Ghica, D.R.: Semantics of dynamic variables in algol-like languages. Master’s thesis, Queens’ University, Kingston,Ontario (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Paul Blain Levy
    • 1
  1. 1.PPS, Université Denis DiderotParis Cedex 05France

Personalised recommendations