Abstract
We describe a fully abstract trace semantics for a functional language with locally declared general references (a fragment of Standard ML). It is based on a bipartite LTS in which states alternate between program and environment configurations and labels carry only (sets of) basic values, location and pointer names. Interaction between programs and environments is either direct (initiating or terminating subprocedures) or indirect (by the overwriting of shared locations): actions reflect this by carrying updates to the shared part of the store.
The trace-sets of programs and contexts may be viewed as deterministic strategies and counter-strategies in the sense of game semantics: we prove soundness of the semantics by showing that the evaluation of a program in an environment tracks the interaction between the corresponding strategies. We establish full abstraction by proving a definability result: every bounded deterministic strategy of a given type is the trace-set of a configuration of that type.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abramsky, S., Honda, K., McCusker, G.: A fully abstract games semantics for general references. In: LICS 1998. Proceedings of the 13th Annual Symposium on Logic In Computer Science (1998)
Berger, M., Honda, K., Yoshida, N.: Sequentiality and the π-calculus. In: Abramsky, S. (ed.) TLCA 2001. LNCS, vol. 2044, Springer, Heidelberg (2001)
Berger, M., Honda, K., Yoshida, N.: An observationally complete program logic for imperative higher-order functions. In: Proceedings of LICS 2005, IEEE Computer Society Press, Los Alamitos (2005)
Danos, V., Herbelin, H., Regnier, L.: Games semantics and abstract machines. In: LICS 1996. Proceedings of the eleventh International Symposium on Logic In Computer Science (1996)
Hyland, J.M.E., Ong, C.-H.L.: Pi-calculus, dialogue games and PCF. In: Proceedings of the 7th ACM Conference on Functional Programming Languages and Computer Architecture, pp. 96–107. ACM Press, New York (1995)
Jeffrey, A., Rathke, J.: Towards a theory of bisimulation for local names. In: Proceedings of LICS 1999, IEEE Press, Los Alamitos (1999)
Jeffrey, A., Rathke, J.: Java jr.: Fully abstract trace semantics for a core java language. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 423–438. Springer, Heidelberg (2005)
Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of POPL 2006, pp. 141–152 (2006)
Laird, J.: A game semantics of names and pointers. To appear in Annals of Pure and Applied Logic (2006)
Sangiorgi, D.: Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD thesis, University of Edinburgh (1993)
Sanjabi, S., Ong, C.-H.L.: Fully abstract semantics of additive aspects by translation. To appear in proc. In: AOSD 2007 (2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Laird, J. (2007). A Fully Abstract Trace Semantics for General References. In: Arge, L., Cachin, C., Jurdziński, T., Tarlecki, A. (eds) Automata, Languages and Programming. ICALP 2007. Lecture Notes in Computer Science, vol 4596. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73420-8_58
Download citation
DOI: https://doi.org/10.1007/978-3-540-73420-8_58
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73419-2
Online ISBN: 978-3-540-73420-8
eBook Packages: Computer ScienceComputer Science (R0)