Skip to content
Free planNo credit card requiredStart writing

article · DAIMI Report Series · 2006

Family Genericity

Erik Ernst

Cited by 0Open access

Abstract

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.<br />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<br />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.

Cite this paper

APA 7

Ernst, E. (2006). Family Genericity. DAIMI Report Series, 35(578). https://doi.org/10.7146/dpb.v35i578.7226

MLA 9

Ernst, Erik. “Family Genericity.” DAIMI Report Series, vol. 35, no. 578, 2006, https://doi.org/10.7146/dpb.v35i578.7226.

Chicago

Ernst, Erik. 2006. “Family Genericity.” DAIMI Report Series 35 (578). https://doi.org/10.7146/dpb.v35i578.7226.

Harvard

Ernst, E. (2006) ‘Family Genericity’, DAIMI Report Series, 35(578). Available at: https://doi.org/10.7146/dpb.v35i578.7226.

BibTeX
@article{ernst2006family,
  title = {{Family Genericity}},
  author = {Ernst, Erik},
  journal = {DAIMI Report Series},
  volume = {35},
  number = {578},
  year = {2006},
  doi = {10.7146/dpb.v35i578.7226}
}

Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.