Skip to main content

A fully abstract translation between a λ-calculus with reference types and Standard ML

  • Conference paper
  • First Online:
Typed Lambda Calculi and Applications (TLCA 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 902))

Included in the following conference series:

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Abramsky and C.-H. L. Ong. Full abstraction in the lazy lambda calculus. Information and Computation, 105:159–267, 1993.

    Article  Google Scholar 

  2. A. Gordon. Functional Programming and Input/Output. PhD thesis, University of Cambridge, 1993. Also available as Technical Report No. 285.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. Journal of Functional Programming, 1:287–327, 1991.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. R. Milner. Fully abstract models of typed λ-calculi. Theoretical Computer Science, 4:1–22, 1977.

    Article  Google Scholar 

  7. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, Cambridge, MA, 1990.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. V. C. V. de Paiva, A. M. Pitts and I. D. B. Stark. A Monadic ML. In preparation.

    Google Scholar 

  10. A. M. Pitts. A co-induction principle for recursively defined domains. Theoretical Computer Science, 124:195–219, 1994.

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. J.G. Riecke. Fully abstract translations between functional languages. Mathematical Structures in Computer Science, 3:387–415, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mariangiola Dezani-Ciancaglini Gordon Plotkin

Rights and permissions

Reprints 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

Publish with us

Policies and ethics