Abstract
The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by locality of state, independent of other properties such as side-effects, exceptional termination and non-termination due to recursion. We consider a simple language (equivalent to a fragment of Standard ML) of typed, higher order functions that can dynamically create fresh names; names are created with local scope, can be tested for equality and can be passed around via function application, but that is all. Despite the extreme simplicity of the language and its operational semantics, the observable properties of such functions are shown to be very subtle. A notion of ‘logical relation’ is introduced which incorporates a version of representation independence for local names. We show how to use it to establish observational equivalences. The method is shown to be complete (and decidable) for expressions of first order types, but incomplete at higher types.
Supported by UK SERC grant GR/G53279 and CEC ESPRIT project CLICS-II
Supported by UK SERC studentship 91307943 and CEC SCIENCE project PL910296
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
S. Abramsky. The Lazy Lambda Calculus. In D. Turner (ed.), Research Topics in Functional Programming (Addison-Wesley, 1990), pp 65–116.
H.-J. Boehm. Side-effects and aliasing can have simple axiomatic descriptions, ACM Trans. Prog. Lang. Syst. 7(1985) 637–655.
M. Felleisen and D. P. Friedman. A Syntactic Theory of Sequential State, Theoretical Computer Science 69(1989) 243–287.
F. Honsell, I. A. Mason, S. Smith and C. Talcott. A Variable Typed Logic of Effects. In Proc. Computer Science Logic 1992, Lecture Notes in Computer Science (Springer-Verlag, Berlin, 1993), to appear.
D. J. Howe. Equality in Lazy Computation Systems. In Proc. 4th Annual Symp. on Logic in Computer Science, Asilomar, 1989 (IEEE Computer Society Press, Washington, 1989) pp 198–203.
I. A. Mason and C. Talcott. References, local variables and operational reasoning. In Proc. 7th Annual Symp. on Logic in Computer Science, Santa Cruz, 1992 (IEEE Computer Society Press, Washington, 1992) pp 186–197.
A. Meyer and K. Sieber. Towards fully abstract semantics for local variables: preliminary report. In Conf. Record 15th Symp. on Principles of Programming Languages, San Diego, 1988 (ACM, New York, 1988) pp 191–203.
R. Milner. Fully abstract models of typed λ-calculi. Theoretical Computer Science 4(1977) 1–22.
R. Milner, M. Tofte and R. Harper. The Definition of Standard ML (MIT Press, 1990).
E. Moggi. Notions of Computation and Monads, Information and Computation 93(1991) 55–92.
P. W. O'Hearn. A Model for Syntactic Control of Interference, Mathematical Structures in Computer Science, to appear.
P. W. O'Hearn and R. D. Tennent. Semantics of Local Variables. In M. P. Fourman, P. T. Johnstone and A. M. Pitts (eds), Applications of Categories in Computer Science, L.M.S. Lecture Note Series 177 (Cambridge University Press, 1992), pp 217–238.
P. W. O'Hearn and R. D. Tennent. Relational Parametricity and Local Variables. In Conf. Record 20th Symp. on Principles of Programming Languages, Charleston, 1993 (ACM, New York, 1993) pp 171–184.
A. M. Pitts and I. D. B. Stark. On the Observational Properties of Higher Order Functions that Dynamically Create Local Names (preliminary report). In Proceedings of the ACM SIGPLAN Workshop on State in Programming Languages, Copenhagen, 1993, Yale Univ. Dept. Computer Science Tech. Report.
G. D. Plotkin. Call-by-name, call-by-value and the lambda calculus. Theoretical computer Science 1(1975) 125–159.
G. D. Plotkin and M. Abadi. A Logic for Parametric Polymorphism. In Proceedings of the Conference on Typed Lambda Calculus and its Applications, Utrecht, 1993, Lecture Notes in Computer Science Vol. 664 (Springer-Verlag, Berlin, 1993) pp 361–375.
J. C. Reynolds. Syntactic Control of Interference. In Conf. Record 5th Symp. on Principles of Programming Languages, Tucson, 1978 (ACM, New York, 1978) pp 39–46.
R. D. Tennent. Semantic Analysis of Specification Logic, Information and Computation 85(1990) 135–162.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pitts, A.M., Stark, I.D.B. (1993). Observable properties of higher order functions that dynamically create local names, or: What's new?. In: Borzyszkowski, A.M., Sokołowski, S. (eds) Mathematical Foundations of Computer Science 1993. MFCS 1993. Lecture Notes in Computer Science, vol 711. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57182-5_8
Download citation
DOI: https://doi.org/10.1007/3-540-57182-5_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57182-7
Online ISBN: 978-3-540-47927-7
eBook Packages: Springer Book Archive