A lambda calculus of objects with self-inflicted extension
- 1 October 1998
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 33 (10) , 166-178
- https://doi.org/10.1145/286942.286955
Abstract
In this paper we investigate, in the context of functional prototype-based languages, objects which might extend themselves upon receiving a message. The possibility for an object of extending its own "self", referred to by Cardelli, as a self-inflicted operation, is novel in the context of typed object-based languages. We present a sound type system for this calculus which guarantees that evaluating a well-typed expression will never yield a message-not-found runtime error. We give several examples which illustrate the increased expressive power of our system with respect to existing calculi of objects. The new type system allows also for a flexible width-subtyping, still permitting sound method override, and a limited form of object extension. The resulting calculus appears to be a good starting point for a rigorous mathematical analysis of class-based languagesKeywords
This publication has 11 references indexed in Scilit:
- Matching constraints for the Lambda Calculus of ObjectsPublished by Springer Nature ,1997
- Subtyping constraints for incomplete objectsPublished by Springer Nature ,1997
- Subtyping is not a good “match” for object-oriented languagesPublished by Springer Nature ,1997
- An extended Theory of Primitive Objects: First order systemPublished by Springer Nature ,1997
- A Lambda Calculus of incomplete objectsPublished by Springer Nature ,1996
- Covariance and contravarianceACM Transactions on Programming Languages and Systems, 1995
- A delegation-based object calculus with subtypingPublished by Springer Nature ,1995
- A subtyping for the Fisher-Honsell-Mitchell lambda calculus of objectsPublished by Springer Nature ,1995
- A paradigmatic object-oriented programming language: Design, static typing and semanticsJournal of Functional Programming, 1994
- Notes on typed object-oriented programmingPublished by Springer Nature ,1994