z-logo
open-access-imgOpen Access
Family Genericity
Author(s) -
Erik Ernst
Publication year - 2006
Publication title -
daimi pb
Language(s) - English
Resource type - Journals
eISSN - 2245-9316
pISSN - 0105-8517
DOI - 10.7146/dpb.v35i578.7226
Subject(s) - abstraction , programming language , computer science , inheritance (genetic algorithm) , parameterized complexity , extension (predicate logic) , prime (order theory) , simple (philosophy) , theoretical computer science , mathematics , algorithm , philosophy , biochemistry , chemistry , epistemology , combinatorics , gene
Type abstraction in object-oriented languages embody two techniques, each with its own strenghts and weaknesses. The first technique is extension, yielding abstraction mechanisms with good support for gradual specification. The prime example is inheritance. The second technique is functional abstraction, yielding more precise knowledge about the outcome. The prime example is type parameterized classes. This paper argues that these techniques should be clearly separated to work optimally, and also that current languages fail to do this.We have applied this design philosophy to a language based on an extension mechanism, namely virtual classes. As a result, some elements based on functional abstraction have been introduced, but they are simple and only used for things where they excel; conversely, the virtual classes have become more flexible, because their role is now more well-defined.We designate the result as family genericity. The presented language design has been implemented.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here