[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

evalhook, eval-when

    Date: Saturday, 7 March 1987  18:39-EST
    From: Jeff Dalton <jeff%aiva.edinburgh.ac.uk at Cs.Ucl.AC.UK>
    To:   johnw%cvaxa.sussex.ac.uk at Cs.Ucl.AC.UK
    cc:   common-lisp at sail.stanford.edu
    Re:   evalhook, eval-when

    A key question here is whether Common Lisp requires that the environment
    obtained via the &ENV parameter of a macro can meaningfully be passed to
    EVALHOOK and vice-versa.

The answer is no.  See pp145-146 in CLTL in the discussion of the
(omitted) &environment keyword.  I believe PCL is no longer doing
this, since it works on our system which uses a partial environment
for macroexpansion.

    In any case, POPLOG Common Lisp might still have some use for hook
    functions. [...]  As a user of POPLOG Common Lisp, I often wish
    there was a single stepper of some sort, even if it didn't see
    forms "smaller than function calls".

Yes, evalhook is one way to implement a stepper.  The question is
whether providing a portable way to implement steppers is so important
that we make life difficult for implementors by requiring it in Common
Lisp.  There is nothing to stop compile-only implementations from
having steppers, but they probably aren't going to want to use
evalhook to do it.