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.