Sciweavers

JOT
2008

An Enhanced Form of Dynamic Untyped Object-Based Inheritance

13 years 11 months ago
An Enhanced Form of Dynamic Untyped Object-Based Inheritance
We present an enhanced form of untyped object-based inheritance for classless languages, as implemented in our Delta language, comparing to the prevalent practices of delegation and embedding. Through a case scenario we reveal a design flaw of delegation that damages polymorphism and extensibility. Then, we show why embedding is impractical for object-based uninheritance (undoing inheritance on individual objects) and non-monotonic object evolution (dynamically adding or removing object members). We introduce dynamic object trees, adopting the metaphoric notions of inheritance from class-based languages, without compromising the compositional flexibility of untyped inheritance. We implement inherit and uninherit as library functions, discussing how our member lookup algorithm preserves monotonicity. Finally, we show that if prototypes are prototypical objects they may break their own invariant. To this end, we propose class objects as a more precise metaphor, implementing in the Delta...
Anthony Savidis
Added 13 Dec 2010
Updated 13 Dec 2010
Type Journal
Year 2008
Where JOT
Authors Anthony Savidis
Comments (0)