CLHS: Issue MACROEXPAND-HOOK-DEFAULT Writeup

#

## Issue MACROEXPAND-HOOK-DEFAULT Writeup

    Issue:        MACROEXPAND-HOOK-DEFAULT
    Forum:	      Editorial
    References:   MACROEXPAND (pp151-152), *MACROEXPAND-HOOK* (p152)
    Category:     CLARIFICATION
    Edit history: 02-Mar-91, Version 1 by Pitman
    Status:	      For X3J13 consideration

    Problem Description:

      In the description of the MACROEXPAND function on p152 of CLtL,
      it says ``The initial value of *MACROEXPAND-HOOK* is FUNCALL.''

      Does that mean the symbol FUNCALL, the function FUNCALL, or either?

    Proposal (MACROEXPAND-HOOK-DEFAULT:EXPLICITLY-VAGUE):

      Specify that the initial value of *MACROEXPAND-HOOK* is either
      the symbol FUNCALL or the function which it names.

    Test Case:

      None.

    Rationale:

      This leaves flexibility to an implementation which needs it to be
      #'FUNCALL for speed.

    Current Practice:

      In Symbolics Genera, the value is a function.

    Cost to Implementors:

      None.

    Cost to Users:

      None.

    Cost of Non-Adoption:

      Lack of clear specification means mainly that implementors might worry
      they were doing the wrong thing if they use #'FUNCALL, but might worry
      about needless inefficiency if they use the symbol FUNCALL instead.

    Benefits:

      Clearer specification.

    Aesthetics:

      Negligible.

    Discussion:

      Pitman doesn't care which way this is decided.

Copyright 1996-2005, LispWorks Ltd. All rights reserved.