next up previous
Next: References Up: Hooks and Open Points Previous: Discussion of Tools


  The goal of this paper has been
  1. to analyse and expose the hook mechanism, as present in many Lisp systems,

  2. to generalize the hook mechanism to that of open points,

  3. to give a survey of open point-like mechanisms in various programming languages,

  4. to elaborate a concrete hook mechanism in the tradition of Lisp, and

  5. to design and to describe a set of tools that supports announcement and exploratory attachment and hooks.

The support of an open point-like mechanism in a programming language is supposed to have a positive impact on the generality and the potential reusability of the programs written in the language. As we have seen, it is possible to simulate open points in many dynamic programming languages. In more statically-oriented programming languages it is, however, far more difficult to obtain the effect of open points, mainly because of the requirement of late bindings of open points.

A coherent and systematically defined hook mechanism is important for every Lisp dialect. However, when compared with open point mechanisms in object-oriented languages (such as Smalltalk, Loops, and CLOS), the object-oriented approaches should be preferred. The reason is that the open points provided by object-oriented languages are better integrated and follow the main structuring mechanism of these languages.

Finally, we will emphasize the importance of the tool support of hooks. Hook reports improve the practical value of hooks in a program. It is easy to get up-to-date and consistent information about the presence of hooks, together with their documentation. Furthermore, it is extremely flexible to explore potential attachments of the hook via the interactive command interfaces that are defined on the hook reports.

Acknowledgements. I would like to thank Bent Bruun Kristensen, Liam Peyton, Randy Trigg, Michael L. Van De Vanter, and Kasper Østerbye for help and discussions during the process of writing this paper.

next up previous
Next: References Up: Hooks and Open Points Previous: Discussion of Tools

Kurt Noermark
Wed Mar 6 09:44:24 MET 1996