Abstract
When a programming language has a sufficiently rich type structure, there can be more than one proof of the same typing judgement; potentially this can lead to semantic ambiguity since the semantics of a typed language is a function of such proofs. When no such ambiguity arises, we say that the language is coherent. In this paper we prove the coherence of a class of lambda-calculus-based languages that use the intersection type discipline, including both a purely functional programming language and the Algol-like programming language Forsythe.
This research was sponsored in part by National Science Foundation Grant CCR-8922109 and in part by the Avionics Lab, Wright Research and Development Center, Aeronautical Systems Division (AFSC), U.S. Air Force, Wright-Patterson AFB, OH 45433-6543 under Contract F33615-90-C-1465, Arpa Order No. 7597. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government.
Preview
Unable to display preview. Download preview PDF.
References
V. Breazu-Tannen, T. Coquand, C. A. Gunter, and A. Scedrov. Inheritance as implicit coercion. Information and Computation, 93(1):172–222, July 1991.
M. Coppo, M. Dezani-Ciancaglini, and B. Venneri. Functional characters of solvable terms. Z. Math. Logik Grundlagen Math., 27:45–58, 1981.
F. J. Oles. A Category-Theoretic Approach to the Semantics of Programming Languages. Ph. D. dissertation, Syracuse University, August 1982.
F. J. Oles. Type algebras, functor categories, and block structure. In M. Nivat and J. C. Reynolds, editors, Algebraic Methods in Semantics, pages 543–573. Cambridge Univ. Press, Cambridge, England, 1985.
J. C. Reynolds. Using category theory to design implicit conversions and generic operators. In N. D. Jones, editor, Semantics-Directed Compiler Generation, volume 94 of Lect. Notes in Computer Sci., pages 211–258, Berlin, 1980. Springer-Verlag.
J. C. Reynolds. Conjunctive types and Algol-like languages (abstract of invited lecture). In Proc. Symp. on Logic in Computer Science, page 119, 1987. Full text in preparation.
J. C. Reynolds. Preliminary design of the programming language Forsythe. Report CMU-CS-88-159, Carnegie Mellon University, June 21, 1988.
M. Wand. Type inference for record concatenation and multiple inheritance. In Proc. Fourth Annual Symp. on Logic in Computer Science, pages 92–97, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reynolds, J.C. (1991). The coherence of languages with intersection types. In: Ito, T., Meyer, A.R. (eds) Theoretical Aspects of Computer Software. TACS 1991. Lecture Notes in Computer Science, vol 526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54415-1_70
Download citation
DOI: https://doi.org/10.1007/3-540-54415-1_70
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54415-9
Online ISBN: 978-3-540-47617-7
eBook Packages: Springer Book Archive