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