next up previous
Next: Summary Up: Hooks in Lisp Previous: Interlisp


  Pan [3,4] is a syntax-recognizing editor, which is implemented in Common Lisp. Extensibility and customizability are important objectives in the Pan design. For that purpose the implementation of Pan introduces a notion of hooks. The hook mechanism of Pan is at a higher level than that of the Interlisp tools, which we described above.

Pan supports a proper hook definition construct called define-hook. Define-hook describes and constrains the parameter signature of functions to be attached to the hook. Define-hook also includes hook documentation. Pan is explicit about the scope of the hook in the sense that define-hook specifies the scopes in which hooks may be attached. Another primitive called perform-hook activates functions that have been attached to the hook. Functions are attached to a hook in a specific scope, using another special form, define-hook-function (which either can attach a named function to the hook, or incorporate the function definition details into the construct). The list of defined hooks can be announced to users via Pan's help system.

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