Extensions to type systems can preserve operational equivalences

  • Jon G. Riecke
  • Ramesh Subrahmanyam
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 789)


We consider call-by-name, call-by-value, and lazy versions of PCF, and prove, using both syntactic and semantic means, that the operational equivalences of the base language are preserved when the language is extended with sum and product types, with polymorphic types, and with recursive types. These theorems show that the type systems of the extended languages are orthogonal to the type systems of the original languages.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    S. Abramsky. The lazy lambda calculus. In D. A. Turner, editor, Research Topics in Functional Programming, pages 65–117. Addison-Wesley, 1990.Google Scholar
  2. 2.
    R. Amadio. A fixed-point extension of the second-order lambda calculus. In Proceedings, Third Annual Symposium on Logic in Computer Science. IEEE, 1988.Google Scholar
  3. 3.
    R. Amadio. On the adequacy of PER models. Technical Report CRIN 91-R-177, Centre de Recherche en Informatique de Nancy, 1991.Google Scholar
  4. 4.
    R. Amadio. Recursion and Subtyping in Lambda Calculi. PhD thesis, Universita di Pisa, 1991.Google Scholar
  5. 5.
    H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in Logic. North-Holland, 1981. Revised Edition, 1984.Google Scholar
  6. 6.
    B. Bloom and J. G. Riecke. LCF should be lifted. In T. Rus, editor, Proc. Conf. Algebraic Methodology and Software Technology, pages 133–136. Department of Computer Science, University of Iowa, 1989.Google Scholar
  7. 7.
    V. Breazu-Tannen. Conservative extensions of type theories. PhD thesis, Dept. Mathematics, Massachusetts Institute of Technology, 1987. Supervised by Albert R. Meyer.Google Scholar
  8. 8.
    V. Breazu-Tannen. Combining algebra and higher-order types. In Proceedings, Third Annual Symposium on Logic in Computer Science, pages 82–90. IEEE, 1988.Google Scholar
  9. 9.
    V. Breazu-Tannen and A. R. Meyer. Computable values can be classical. In Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, pages 238–245. ACM, 1987.Google Scholar
  10. 10.
    T. Coquand, C. A. Gunter, and G. Winskel. dI-domains as a model of polymorphism. In M. Main, A. Melton, M. Mislove, and D. Schmidt, editors, Mathematical Foundations of Programming Language Semantics: 3rd Workshop, volume 298 of Lect. Notes in Computer Sci., pages 344–363. Springer-Verlag, 1987.Google Scholar
  11. 11.
    T. Coquand, C. A. Gunter, and G. Winskel. Domain theoretic models of polymorphism. Information and Computation, 81:123–167, 1989.Google Scholar
  12. 12.
    S. S. Cosmadakis. Computing with recursive types. In Proceedings, Fourth Annual Symposium on Logic in Computer Science, pages 24–38. IEEE, 1989.Google Scholar
  13. 13.
    G. Ghelli. Recursive types are not conservative over F≤. In Typed Lambda Calculi and Applications, volume 664 of Lect. Notes in Computer Sci., pages 146–162. Springer-Verlag, 1993.Google Scholar
  14. 14.
    J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types. Cambridge University Press, 1989.Google Scholar
  15. 15.
    C. A. Gunter. Semantics of Programming Languages: Structures and Techniques. MIT Press, 1992.Google Scholar
  16. 16.
    R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990.Google Scholar
  17. 17.
    J. C. Mitchell. On abstraction and the expressive power of programming languages. In Theoretical Aspects of Computer Software, volume 526 of Lect. Notes in Computer Sci., pages 290–310, 1991.Google Scholar
  18. 18.
    K. Mulmuley. Full Abstraction and Semantic Equivalence. ACM Doctoral Dissertation Award 1986. MIT Press, 1987.Google Scholar
  19. 19.
    C.-H. L. Ong. Fully abstract models of the lazy lambda calculus. In 29th Annual Symposium on Foundations of Computer Science, pages 368–376. IEEE, 1988.Google Scholar
  20. 20.
    C.-H. L. Ong. The Lazy Lambda Calculus: An Investigation into the Foundations of Functional Programming. PhD thesis, Imperial College, University of London, 1988.Google Scholar
  21. 21.
    G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Sci., 5:223–257, 1977.Google Scholar
  22. 22.
    J. C. Reynolds. On the relation between direct and continuation semantics. In Proceedings of the Second Colloquium on Automata, Languages, and Programming, Lecture Notes in Computer Science 14, pages 141–156. Springer-Verlag, 1974.Google Scholar
  23. 23.
    J. G. Riecke. Fully abstract translations between functional languages (preliminary report). In Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, pages 245–254. ACM, 1991.Google Scholar
  24. 24.
    J. G. Riecke. The Logic and Expressibility of Simply-Typed Call-by-Value and Lazy Languages. PhD thesis, Massachusetts Institute of Technology, 1991. Available as technical report MIT/LCS/TR-523 (MIT Laboratory for Computer Science).Google Scholar
  25. 25.
    J. G. Riecke. Delimiting the scope of effects. In Proceedings of the 1993 Conference on Functional Programming and Computer Architecture, pages 146–158. ACM, 1993.Google Scholar
  26. 26.
    D. Scott. A type theoretical alternative to CUCH, ISWIM, OWHY. Unpublished manuscript, Oxford University, 1969.Google Scholar
  27. 27.
    B. B. Sorensen and C. Clausen. Adequacy results for a lazy functional language with recursive and polymorphic types. Unpublished manuscript.Google Scholar
  28. 28.
    R. Subrahmanyam. A theory of language expressiveness. Unpublished manuscript, Wesleyan University, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Jon G. Riecke
    • 1
  • Ramesh Subrahmanyam
    • 2
  1. 1.AT&T Bell LaboratoriesMurray Hill
  2. 2.Department of MathematicsWesleyan UniversityMiddletown

Personalised recommendations