Macro DEF
Syntax:
General form:
  
def what name &rest definition-forms => <undefined>
Special definer form:
  
def definer what (&key type-of-naming-form name body-name) &body definer-forms => <undefined>
Arguments and Values:
Simple DEF form:
what---a symbol, a cons, or the
  symbol definer
name---a symbol or a cons
definition-forms---a compound form
Special DEF DEFINER form:
what---a symbol, a cons, or the
  symbol definer
   Calls the appropriate  CL definition form, or a user
  definition form built by a specialized call to BUILD-DEFINITION-FORM.
   The actual contents of  
   See the main page. None. Environment dependent.type-of-naming-form---the symbol
  symbol, or the symbol cons (or some
  other type specifier); the default is SYMBOLname---a symbol that is used
  within the body definer-forms to retrieve the
  name of the object being defined; the default is
  the symbol namebody-name---a symbol that is used
  within the body definer-forms to retrieve the
  actual definition forms for the definer; the default is the symbol
  definition-formsdefiner-forms---a compound formDescription:
  what is a symbol or a cons which directs the
  underlying form builder code in a method of
  BUILD-DEFINITION-FORM to produce the appropriate
  result.name is a symbol or a cons which can be
  processed to produce the actual name of the obejct being
  defined.definition-forms depend on
  what is being defined.Using the 
  definer indicatorwhat can be the predefined symbol
  definer. In this case the DEF macro
  behaves as follows. A BUILD-DEFINITION-FORM
  method on name is defined.  The keyword
  parameters that can be passed to the DEF are meant to ease the
  writing of
  definer-forms.
  type-of-naming-form is used in a DECLARE form to
  aid the compiler. name-var is a symbol that is used
  within the body definer-forms to retrieve the
  name of the object being
  defined. body-name is a symbol that is used
  within the body definer-forms to retrieve the
  actual definition forms for the definer.Examples:
  Side Effects:
  name is defined as a what
  in the environment.  what is defined depends on
  the current set of methods for the generic function
  BUILD-DEFINITION-FORM.
  Affected By:
  Exceptional Situations:
  
