Issue: MACROEXPAND-HOOK-DEFAULTForum: 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.