|
Abstract : |
Object oriented programming languages with subtyping facilitate the re-use of code which forms the top part of a call-graph. This style of code reuse, sometimes called inverted programming, cannot be simulated easily in traditional languages. We present a technique for achieving the same eect in the framework of a higher-order, polymorphic functional language without subtyping. Our method establishes a close relationship between the object-oriented concepts of class, \self", and subtyping and the functional concepts of algebraic data types and abstraction functions. The relationship can serve as a transformational semantics of object-oriented language elements., |