Skip to main content

Relational interpretations of recursive types in an operational setting (Summary)

  • Invited Talk 5
  • Conference paper
  • First Online:
Theoretical Aspects of Computer Software (TACS 1997)

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

Included in the following conference series:

Abstract

Relational interpretations of type systems are a useful tool for establishing properties of programming languages. For languages with recursive types the existence of a relational interpretation is often difficult to establish. The most well-known approach is to pass to a domain theoretic model of the language, using the structure of the domain to define a suitable system of relations. Here we study the construction of relational interpretations for an ML-like language with recursive functions and recursive types in a purely operational setting. The construction is an adaptation of results of Pitts on relational properties of domains to an operational setting, making use of techniques introduced by Mason, Smith, and Talcott for proving operational equivalence of expressions. To illustrate the method we give a relational proof of correctness of the continuation-passing transformation used in some compilers for functional languages.

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. Martin Abadi, Luca Cardelli, Benjamin Pierce, and Gordon Plotkin. Dynamic typing in a statically typed language. ACM Transactions on Programming Languages and Systems, 13(2):237–268, April 1991.

    Google Scholar 

  2. Lars Birkedal and Robert Harper. Relational interpretations of recursive types in an operational setting. Unpublished manuscript.

    Google Scholar 

  3. William Clinger and Jonathan Rees. Revised4 report on the algorithmic language Scheme. LISP Pointers, IV(3):1–55, July-Sep. 1991.

    Google Scholar 

  4. Bruce Duba, Robert Harper, and David MacQueen. Typing first-class continuations in ML. In Eighteenth ACM Symposium on Principles of Programming Languages, January 1991.

    Google Scholar 

  5. Andrzej Filinski. Controlling Effects. CMU-CS-96-119, School of Computer Science, Carnegie Mellon University, May 1996.

    Google Scholar 

  6. Michael J. Fischer. Lambda-calculus schemata. LISP and Symbolic Computation, 6(3/4):259–288, November 1993.

    Google Scholar 

  7. Peter Freyd. Algebraically complete categories. In A. Carboni, M. C. Pedicchio, and G. Rosolini, editors, Category Theory. Proceedings, Como 1990, volume 1488 of Lecture Notes in Mathematics, pages 95–104. Springer-Verlag, 1990.

    Google Scholar 

  8. Peter Freyd. Recursive types reduced to inductive types. In Proceedings of the fifth IEEE Conference on Logic in Computer Science, pages 498–507, 1990.

    Google Scholar 

  9. Peter Freyd. Remarks on algebraically compact categories. In M. P. Fourman, P.T. Johnstone, and A. M. Pitts, editors, Applications of Categories in Computer Science. Proceedings of the LMS Symposium, Durham 1991, volume 177 of London Mathematical Society Lecture Note Series, pages 95–106. Cambridge University Press, 1991.

    Google Scholar 

  10. Jean-Yves Girard. Interprétation Fonctionnelle et Élimination des Coupures dans l'Arithmétique d'Ordre Supérieure. PhD thesis, Université Paris VII, 1972.

    Google Scholar 

  11. Carl A. Gunter. Semantics of Programming Languages. Structures and Techniques. MIT Press, 1992.

    Google Scholar 

  12. Robert Harper, Bruce Duba, and David MacQueen. Typing first-class continuations in ML. Journal of Functional Programming, 3(4):465–484, October 1993.

    Google Scholar 

  13. D. J. Howe. Equality in lazy computation systems. In 4th Annual Symposium on Logic in Computer Science, pages 198–203. IEEE Computer Society Press, Washington, 1989.

    Google Scholar 

  14. Søren Lassen. Relational reasoning about contexts. Unpublished manuscript.

    Google Scholar 

  15. Ian A. Mason, Scott F. Smith, and Carolyn L. Talcott. From operational semantics to domain theory. Information and Computation, 1995. To Appear.

    Google Scholar 

  16. Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219–224. Springer-Verlag, 1985.

    Google Scholar 

  17. Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990.

    Google Scholar 

  18. John C. Mitchell. Type systems for programming languages. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol. B, Formal Models and Semantics, chapter 8, pages 366–458. Elsevier Science Publishers B.V., 1990.

    Google Scholar 

  19. John C. Mitchell. Foundations for Programming Languages. Foundations of Computing. MIT Press, 1996.

    Google Scholar 

  20. James H. Morris. Lambda Calculus Models of Programming Languages. PhD thesis, MIT, 1968.

    Google Scholar 

  21. Andrew M. Pitts. Operationally-based theories of program equivalence. In In Proc. of Summer School on Semantics and Logics of Computation. ESPRIT CLiCSII. University of Cambridge. Isaac Newton Institute for Mathematical Sciences., September 1995.

    Google Scholar 

  22. Andrew M. Pitts. Relational properties of domains. Information and Computation, 127(2):66–90, June 1996.

    Google Scholar 

  23. Gordon Plotkin. Call-by-name, call-by-value, and the lambda calculus. Theoretical Computer Science, 1:125–159, 1975.

    Google Scholar 

  24. Gordon Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223–257, 1977.

    Google Scholar 

  25. John C. Reynolds. On the relation between direct and continuation semantics. In J. Loeckx, editor, Proceedings of the Second Colloquium on Automata, Languages and Programming, Saarbrücken, volume 174 of Lecture Notes in Computer Science, pages 141–156. Springer-Verlag, 1974.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Martín Abadi Takayasu Ito

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Birkedal, L., Harper, R. (1997). Relational interpretations of recursive types in an operational setting (Summary). In: Abadi, M., Ito, T. (eds) Theoretical Aspects of Computer Software. TACS 1997. Lecture Notes in Computer Science, vol 1281. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014563

Download citation

  • DOI: https://doi.org/10.1007/BFb0014563

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63388-4

  • Online ISBN: 978-3-540-69530-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics