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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Plotkin, G.: Full abstraction, totality and PCF (1997)
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)
Milne, R., Strachey, C.: A Theory of Programming Language Semantics. Halsted Press, New York (1977)
Scott, D.: Mathematical concepts in programmng language semantics. In: Proc. of 1972 Spring Joint Computer Conferences, pp. 225–234. AFIPS Press (1972)
Stoy, J.E.: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge (1981)
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)
Stark, I.: Categorical models for local names. LISP and Symb. Comput. 9(1), 77–107 (1996)
Reyonlds, J.: The essence of ALGOL. In: de Bakker, J., van Vliet, J.C. (eds.) Algorithmic Languages, pp. 345–372. North Holland, Amsterdam (1981)
Oles, F.J.: A category-theoretic approach to the semantics of programming languages. PhD thesis. Syracuse University (1982)
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)
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)
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)
Mason, I.A., Talcott, C.L.: Equivalence in functional languages with effects. J. of Funct. Program. 1, 287–327 (1991)
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)
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)
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)
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)
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)
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)
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)
Abramsky, S., McCusker, G.: Call-by-value games. In: Nielsen, M. (ed.) CSL 1997. LNCS, vol. 1414, pp. 1–17. Springer, Heidelberg (1998)
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)
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)
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)
Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)
Kozen, D.: Kleene algebra with tests. ACM Trans. on Program. Lang. and Syst. 19(3), 427–443 (1997)
Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)