Organizing Programs Without Classes
David Ungar,
Craig Chambers,
Bay-Wei Chang,
and
Urs Hölzle
Abstract:
All organizational functions carried out by classes can be
accomplished in a simple and natural way by object inheritance in
classless languages, with no need for special mechanisms. A single
model--dividing types into prototypes and traits--supports sharing of
behavior and extending or replacing representations. A natural
extension, dynamic object inheritance, can model behavioral
modes. Object inheritance can also be used to provide structured name
spaces for well-known objects. Classless languages can even express
'class-based' encapsulation. These stylized uses of object
inheritance become instantly recognizable idioms, and extend the
repertory of organizing principles to cover a wider range of programs.
Lisp and Symbolic Computation 4(3), Kluwer Academic
Publishers, June, 1991.
To get the PostScript file, click
here.
Back to bibliography