AbstractThis paper presents an untyped lambda calculus, extended with object primitives that reflect the capabilities of so-called delegation-based object-oriented languages. A type inference system allows static detection of errors, such as message not understood, while at the same time allowing the type of an inherited method to be specialized to the type of the inheriting object. Type soundness is proved using operational semantics and examples illustrating the expressiveness of the pure calculus are presented.
Categories and Subject Descriptors: F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Reasoning about Programs; D.3.3 [Programming Languages]: Language Constructs and Features; F.4.1 [Mathematical Logic and Formal Languages]: Mathematical Logic
Selected papers that cite this one
- Jens Palsberg and Trevor Jim. Type Inference with Simple Selftypes is NP-complete. Nordic Journal of Computing, 4(3):259-286, Fall 1997.
Selected references
- Martín Abadi. Baby Modula-3 and a theory of objects. Journal of Functional Programming, 4(2):249-283, April 1994.
- Luca Cardelli, James E. Donahue, Mick Jordan, Bill Kalsow, and Greg Nelson. The Modula-3 type system. In Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, pages 202-212, Austin, Texas, January 1989.
- Luca Cardelli and John C. Mitchell. Operations on records. Mathematical Structures in Computer Science, 1(1):3-48, March 1991.
- John C. Mitchell. Toward a typed foundation for method specialization and inheritance. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 109-124, San Francisco, California, January 1990.
- John Mitchell, Furio Honsell, and Kathleen Fisher. A lambda calculus of objects and method specialization. In Proceedings, Eighth Annual IEEE Symposium on Logic in Computer Science, pages 26-38, Montreal, Canada, 19-23 June 1993. IEEE Computer Society Press.
- David Ungar and Randall B. Smith. Self: The power of simplicity. In Norman Meyrowitz, editor, Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'87), pages 227-242, Orlando, Florida, 4-8 October 1987. SIGPLAN Notices, 22(12), December 1987.