Skip to main content

Relational Semantics for Higher-Order Programs

  • Conference paper
Mathematics of Program Construction (MPC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4014))

Included in the following conference series:

Abstract

Most previous work on the semantics of higher-order programs with local state involves complex storage modeling with pointers and memory cells, complicated categorical constructions, or reasoning in the presence of context. In this paper we show how a relatively simple relational semantics can be used to avoid these complications. We provide a natural relational semantics for a programming language with higher-order functions. The semantics is purely compositional, with all contextual considerations completely encapsulated in the state. We show several equivalence proofs using this semantics based on examples of Meyer and Sieber (1988).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Pitts, A.M.: Operational semantics and program equivalence. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 378–412. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Plotkin, G.: Full abstraction, totality and PCF (1997)

    Google Scholar 

  3. Cartwright, R., Felleisen, M.: Observable sequentiality and full abstraction. In: Conf. Record of 19th Ann. ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, POPL 1992, pp. 328–342. ACM Press, New York (1992)

    Chapter  Google Scholar 

  4. Milne, R., Strachey, C.: A Theory of Programming Language Semantics. Halsted Press, New York (1977)

    Google Scholar 

  5. Scott, D.: Mathematical concepts in programmng language semantics. In: Proc. of 1972 Spring Joint Computer Conferences, pp. 225–234. AFIPS Press (1972)

    Google Scholar 

  6. Stoy, J.E.: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge (1981)

    MATH  Google Scholar 

  7. Halpern, J.Y., Meyer, A.R., Trakhtenbrot, B.A.: The semantics of local storage, or what makes the free-list free (preliminary report). In: Conf. Record of 11th Ann. ACM Symp. on Principles of Programming Languages, POPL 1984, pp. 245–257. ACM Press, New York (1984)

    Google Scholar 

  8. Stark, I.: Categorical models for local names. LISP and Symb. Comput. 9(1), 77–107 (1996)

    Article  Google Scholar 

  9. Reyonlds, J.: The essence of ALGOL. In: de Bakker, J., van Vliet, J.C. (eds.) Algorithmic Languages, pp. 345–372. North Holland, Amsterdam (1981)

    Google Scholar 

  10. Oles, F.J.: A category-theoretic approach to the semantics of programming languages. PhD thesis. Syracuse University (1982)

    Google Scholar 

  11. 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. London Math. Soc. Lect. Note Series, vol. 177, pp. 217–238. Cambridge Univ. Press, Cambridge (1992)

    Google Scholar 

  12. Meyer, A.R., Sieber, K.: Towards fully abstract semantics for local variables. In: Conf. Record of 15th ACM Symp. on Principles of Programming Languages, POPL 1988, pp. 191–203. ACM Press, New York (1988)

    Chapter  Google Scholar 

  13. Mason, I.A., Talcott, C.L.: Axiomatizing operational equivalence in the presence of effects. In: Proc. of 4th Ann. IEEE Symp. Logic in Computer Science, LICS 1989, pp. 284–293. IEEE Comput. Soc. Press, Los Alamitos (1989)

    Google Scholar 

  14. Mason, I.A., Talcott, C.L.: Equivalence in functional languages with effects. J. of Funct. Program. 1, 287–327 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  15. Mason, I.A., Talcott, C.L.: References, local variables and operational reasoning. In: Proc. of 7th Ann. IEEE Symp. on Logic in Computer Science, LICS 1992, pp. 186–197. IEEE Comput. Soc. Press, Los Alamitos (1992)

    Chapter  Google Scholar 

  16. Pitts, A.M., Stark, I.D.B.: Observable properties of higher order functions that dynamically create local names, or what’s new? In: Borzyszkowski, A.M., Sokolowski, S. (eds.) MFCS 1993. LNCS, vol. 711, pp. 122–141. Springer, Heidelberg (1993)

    Google Scholar 

  17. Pitts, A.M.: Operationally-based theories of program equivalence. In: Dybjer, P., Pitts, A.M. (eds.) Semantics and Logics of Computation, Publications of the Newton Institute, pp. 241–298. Cambridge Univ. Press, Cambridge (1997)

    Chapter  Google Scholar 

  18. Pitts, A.M., Stark, I.D.B.: Operational reasoning in functions with local state. In: Gordon, A.D., Pitts, A.M. (eds.) Higher Order Operational Techniques in Semantics, pp. 227–273. Cambridge Univ. Press, Cambridge (1998)

    Google Scholar 

  19. Abramsky, S., Honda, K., McCusker, G.: A fully abstract game semantics for general references. In: Proc. 13th Ann. IEEE Symp. on Logic in Computer Science, LICS 1998, pp. 334–344. IEEE Comput. Soc. Press, Los Alamitos (1998)

    Google Scholar 

  20. Laird, J.: A game semantics of local names and good variables. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 289–303. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  21. Abramsky, S., McCusker, G.: Linearity, sharing and state: a fully abstract game semantics for idealized ALGOL with active expressions. In: Proc. of Linear Logic 1996 Tokyo Meeting. Electron. Notes on Theor. Comput. Sci., vol. 3, pp. 2–14. Elsevier, Amsterdam (1996)

    Google Scholar 

  22. Abramsky, S., McCusker, G.: Call-by-value games. In: Nielsen, M. (ed.) CSL 1997. LNCS, vol. 1414, pp. 1–17. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  23. Riecke, J.G., Sandholm, A.: A relational account of call-by-value sequentiality. In: Proc. of 12th Ann. IEEE Symp. on Logic in Computer Science, LICS 1997, pp. 258–267. IEEE Comp. Soc. Press, Los Alamitos (1997)

    Chapter  Google Scholar 

  24. Riecke, J.G., Viswanathan, R.: Isolating side effects in sequential languages. In: Conf. Record of 22th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, POPL 1995, pp. 1–12. ACM Press, New York (1995)

    Chapter  Google Scholar 

  25. Fiore, M.P., Plotkin, G., Turi, D.: Abstract syntax and variable binding. In: Proc. of 14th Ann. IEEE Symp. on Logic in Computer Science, LICS 1999, pp. 193–202. IEEE Comp. Soc. Press, Los Alamitos (1999)

    Google Scholar 

  26. Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  27. Kozen, D.: Kleene algebra with tests. ACM Trans. on Program. Lang. and Syst. 19(3), 427–443 (1997)

    Article  Google Scholar 

  28. Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aboul-Hosn, K., Kozen, D. (2006). Relational Semantics for Higher-Order Programs. In: Uustalu, T. (eds) Mathematics of Program Construction. MPC 2006. Lecture Notes in Computer Science, vol 4014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783596_5

Download citation

  • DOI: https://doi.org/10.1007/11783596_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35631-8

  • Online ISBN: 978-3-540-35632-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics