next up previous
Next: Introduction

Hooks and Open Points

Kurt Nørmark
Department of Mathematics and Computer Science
Institute for Electronic Systems
Aalborg University
Fredrik Bajers Vej 7
DK-9220 Aalborg Ø


In this paper a programming language concept called an open point is introduced and discussed. Open points are meant to cover a collection of behavioral parameters of executable programs. Such parameters add openness to a program, which may be used to specialize the program in a variety of directions, all of which are intended to preserve the basic flavor of the original application. The paper gives a survey of different mechanisms from existing programming languages that, in some way or another, may be used as open points. In particular, the paper elaborates on the hook mechanism, as used in several Lisp environments. It is argued that open points should be supported by a set of tools. The purpose of the tools is partly to improve the programmer awareness of the presence of open points, and partly to catalyze an experimental binding of the open points in an exploratory programming process. A concrete collection of tools based on the hook mechanism in Lisp is presented together with an example of its use.

Keywords: Lisp, hooks, open points, program reusability, programming tools, Emacs.

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