Abstract
This paper describes a syntactic translation for a substantial fragment of the core Standard ML language into a typed λ-calculus with recursive types and imperative features in the form of reference types. The translation compiles SML's use of declarations and pattern matching into λ-terms, and transforms the use of environments in the operational semantics into a simpler relation of evaluation to canonical form. The translation is shown to be ‘fully abstract’, in the sense that it both preserves and reflects observational equivalence (also commonly called contextual equivalence). A co-inductively defined notion of applicative bisimilarity for lambda calculi with state is developed to establish this result.
Research partially supported by EU ESPRIT project CLICS-II.
Research partially supported by UK EPSRC project GR/G53279.
Preview
Unable to display preview. Download preview PDF.
References
S. Abramsky and C.-H. L. Ong. Full abstraction in the lazy lambda calculus. Information and Computation, 105:159–267, 1993.
A. Gordon. Functional Programming and Input/Output. PhD thesis, University of Cambridge, 1993. Also available as Technical Report No. 285.
D. J. Howe. Equality in lazy computation systems. In Proc. 4th Annual Symp. Logic in Computer Science, pages 198–203. IEEE Computer Society Press, 1989.
I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. Journal of Functional Programming, 1:287–327, 1991.
I. A. Mason and C. L. Talcott. References, local variables and operational reasoning. In Proc. 7th Annual Symp. Logic in Computer Science, pages 186–197. IEEE Computer Society Press, 1992.
R. Milner. Fully abstract models of typed λ-calculi. Theoretical Computer Science, 4:1–22, 1977.
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, Cambridge, MA, 1990.
C.-H. L. Ong. Non-determinism in a functional setting-extended abstract. In Proc. 8th Annual Symp. Logic in Computer Science, Montréal, Canada, pages 275–286. IEEE Computer Society Press, 1993.
V. C. V. de Paiva, A. M. Pitts and I. D. B. Stark. A Monadic ML. In preparation.
A. M. Pitts. A co-induction principle for recursively defined domains. Theoretical Computer Science, 124:195–219, 1994.
A. M. Pitts and I. D. B. Stark. Observable properties of higher order functions that dynamically create local names, or: What's new? In Proc. Int. Symp. on Math. Foundations of Computer Science, pages 122–141. Lecture Notes in Computer Science No. 711, Berlin, 1993.
J.G. Riecke. Fully abstract translations between functional languages. Mathematical Structures in Computer Science, 3:387–415, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ritter, E., Pitts, A.M. (1995). A fully abstract translation between a λ-calculus with reference types and Standard ML. In: Dezani-Ciancaglini, M., Plotkin, G. (eds) Typed Lambda Calculi and Applications. TLCA 1995. Lecture Notes in Computer Science, vol 902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014067
Download citation
DOI: https://doi.org/10.1007/BFb0014067
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59048-4
Online ISBN: 978-3-540-49178-1
eBook Packages: Springer Book Archive