Traces (A Cut at the ``Make Isn't Generic'' Problem)

Object-oriented techniques are a powerful tool for making a system end-programmer specializable. But, in cases where the system not only accepts objects as input, but also creates objects internally, specialization has been more difficult. This has been referred to as the ``make isn't generic problem.'' We present a new object-oriented language concept, called traces, that we have used successfully to support specialization in cases that were previously cumbersome.

The concept of traces makes a fundamental separation between two kinds of inheritance in object-oriented languages: inheritance of default implementation -- an aspect of code sharing; and inheritance of specialization, a sometimes static, sometimes dynamic phenomena.


© Copyright 1993 Springer-Verlag

This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law.


Download paper.