Contents page

Index (83KB)


hook: n. A software or hardware feature included in order to
   simplify later additions or changes by a user.  For example, a
   simple program that prints numbers might always print them in base
   10, but a more flexible version would let a variable determine what
   base to use; setting the variable to 5 would make the program print
   numbers in base 5.  The variable is a simple hook.  An even more
   flexible program might examine the variable and treat a value of 16
   or less as the base to use, but treat any other number as the
   address of a user-supplied routine for printing a number.  This is
   a hairy but powerful hook; one can then write a routine to
   print numbers as Roman numerals, say, or as Hebrew characters, and
   plug it into the program through the hook.  Often the difference
   between a good program and a superb one is that the latter has
   useful hooks in judiciously chosen places.  Both may do the
   original job about equally well, but the one with the hooks is much
   more flexible for future expansion of capabilities (EMACS, for
   example, is *all* hooks).  The term `user exit' is
   synonymous but much more formal and less hackish.