Abstract
Traits support the factoring out of common behaviour, and
its integration into classes in a manner that coexists smoothly with
inheritance-based structuring mechanisms.
We designed the language Chai, which incorporates statically typed
traits into a simple Java-inspired base language, and we discuss three
versions of the language: Chai1, where traits are only a mechanism
for
the creation of classes; Chai2 where traits are a mechanism for the
creation
of classes, and can also introduce types, and Chai3 where traits play
a role at runtime, and can can be applied to objects, and change the
objects�
behaviour. We give formal models for these languages, outline the
proof of soundness, and our prototype implementation.
Users
Please
log in to take part in the discussion (add own reviews or comments).