QuoteRef: abadM_1996

topics > all references > ThesaHelp: references a-b

references a-b
object-oriented programming
lambda calculus
type inheritance
object-oriented prototypes
inheritance by delegation
inheritance of properties


Abadi, M., Cardelli, L., A theory of objects, New York, Springer-Verlag, 1996. Google

i ;;Quote: a theory of objects as a foundation for object-oriented programming; like lambda calculus but based on objects as primitives; handles classes, self, dynamic dispatch, inheritance, etc.
18 ;;Quote: subsumption is the property that a value of type A is also a value of any supertype B with A<:B
20 ;;Quote: the product type is a covariant type operator on pairs of types; i.e., A x B <: A' x B' provided that A <: A' and B <: B'
21 ;;Quote: a function type is a contravariant type operator on pairs of types; i.e., A -> B <: A' -> B' provided that A' <: A and B <: B'; extends to multiple arguments
21+;;Quote: methods vary contravariantly from classes to subclasses; despite debate to the contrary
21 ;;Quote: an update type is an invariant type operator on pairs of types; i.e., if A * B means A and B may be updated, then A * B <: A' * B' provided A=A' and B=B'
42 ;;Quote: delegation inheritance shares attributes while embedding inheritance copies attributes; can distinguish in object-based languages but not class-based languages
47 ;;Quote: delegation-based object languages like Self and Cecil now distinguish trait objects (like classes), prototype objects (for cloning), and normal objects; enforceable

Related Topics up

ThesaHelp: references a-b (396 items)
Group: object-oriented programming   (26 topics, 822 quotes)
Topic: lambda calculus (16 items)
Group: type inheritance   (13 topics, 394 quotes)
Topic: object-oriented prototypes (39 items)
Topic: inheritance by delegation (8 items)
Topic: inheritance of properties (24 items)

Collected barberCB 3/98
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.