Statically typed traits
Kathleen Fisher; John Reppy. 12 December, 2003.
Communicated by John Reppy.
Traits are mechanism, recently proposed by Scharli et al, for factoring
Smalltalk class hierarchies. By separating the issue of code reuse from
the inheritance hierarchy, traits allow one to avoid problems with methods
defined too high in the inheritance hierarchy while sharing common
implementation. Early experience with traits in Smalltalk shows that
traits are an effective way to improve code sharing in class hierarchies.
This positive experience with traits in the untyped Smalltalk world
suggests that traits may be useful in statically typed languages too.
In this paper, we present a statically typed calculus of traits, classes,
and objects, which can serve as the foundation for extending
statically-typed class-based languages, such as Java, with traits.
The original document is available in PDF (uploaded 12 December, 2003 by