[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


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.


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.