Abstract
Recently, a new calculus with overloading and subtyping was presented by Castagna, Ghelli, and Longo [CGL94]. This calculus, λ&-calculus, is an extension of the simply typed λ-calculus and is promising in that it explains the computational mechanism of object-oriented languages from a new viewpoint. However, in λ&-calculus, the interaction of overloading and subtyping causes some unexpected properties such as non-normalization and the difficulties in constructing a model. In this paper, in order to study this interaction, we present modifications of this calculus so that the exact type of a term is preserved, and investigate their syntactic and semantic properties in detail. We define two calculi λ&C and λ&C * corresponding to two possible meanings of an overloaded type. They have completely different properties though they only differ slightly in reduction rules. Strong normalization holds in λ&C * though it is not the case in λ&C, and transitivity of coercions holds in λ&C though it is not the case in λ&C *. The semantics of λ&C * can be given through the translation to a calculus without subtyping. On the other hand, a semantics of λ&C cannot be given easily because of the circular structure it has.
Preview
Unable to display preview. Download preview PDF.
References
Bard Bloom. Can lcf be topped?, flat lattice models of typed λ-calculus. Information and Computation, Vol. 87, pp. 264–301, 1990.
V. Breazu-Tannen, T. Coquand, C. A. Gunter, and A. Scedrov. Inheritance as implicit coercion. Information and Computation, Vol. 93, pp. 172–221, 1991.
V. Breazu-Tannen, C. A. Gunter, and A. Scedrov. Computing with coercions. In Proceedings, ACM Conference on Lisp and Functional Programming, pp. 44–59, 1990.
Giuseppe Castagna. F& <: integrating parametric with’ ad hoc’ explicit polymorphism. In DBPL-4 Workshops in Computing series, Springer-Verlag, 1993.
Giuseppe Castagna, Giorgio Ghelli, and Giuseppe Longo. A calculus for overloaded functions with subtyping. In Proc. ACM Conf. on LISP and Functional Programming, 1992. Extended abstract of [CGL94].
Giuseppe Castagna, Giorgio Ghelli, and Giuseppe Longo. The semantic of λ&-early: a calculus with overloading and early binding. In International conference on typed lambda calculi and applications. LLNCS664, 1993.
Giuseppe Castagna, Giorgio Ghelli, and Giuseppe Longo. A calculus for overloaded functions with subtyping. Information and Computation, Vol. to appear, 1994.
J. Y. Girard, Y. Lafont, and P. Taylor. Proof and Types. Cambridge University Press, 1989.
Y. Kuno. Dynamic manipulation of types in misty — a statically typed object-oriented programming language. Advances in Software Science and Technology, Vol. 4, pp. 163–188, 1992.
R. Milner. Fully abstract models of typed λ-calculus. Theoret. Comput. Sci, Vol. 4, pp. 1–22, 1977.
A. Ohori and P. Buneman. Static type inference for parametric classes. In Proceedings, OOPSLA89: ACM conference on Object Oriented Programming Systems,Languages, and Applications, pp. 445–455, 1989.
D. Rémy. Typechecking records and variants in a natural extension of ml. In Proceedings, The Sixteenth Annual Symposium on Principles of Programming Languages, pp. 77–88, 1989.
Bjarne Stroustrup. the C++ Programming Language (2nd Ed.). Addison Wesley, 1991.
Masako Takahashi. Parallel reductions in λ-calculus. J. Symbolic Computation, Vol. 7, pp. 113–123, 1989. Also Parallel Reductions in λ-Calculus, Revised version (Research Report, Tokyo Institute of Technology, 1992).
Hideki Tsuiki. A Record Calculus with a Merge Operator. PhD thesis, Keio University, 1992.
Mitchell Wand. Complete type inference for simple objects. In Proceedings, IEEE Symposium on Logic in Computer Science, pp. 37–44, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tsuiki, H. (1994). A normalizing calculus with overloading and subtyping. In: Hagiya, M., Mitchell, J.C. (eds) Theoretical Aspects of Computer Software. TACS 1994. Lecture Notes in Computer Science, vol 789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57887-0_100
Download citation
DOI: https://doi.org/10.1007/3-540-57887-0_100
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57887-1
Online ISBN: 978-3-540-48383-0
eBook Packages: Springer Book Archive