[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Scope and declare
In re CL book, page 155, example programm nonsense: why is the scope
rule as stated? Is this a firm decision? If so, why? As I understand it,
this is an inconpatible decision to virtually every other LISP that has been
written. LET and PROG binding semantics can no longer be explained in terms
of those associated with LAMBDA. Among other things, macro expansions can no
longer use binding forms as they do now.
In the rare case where the declaration should prevade the preset
expression, that expression can be wrapped with a LET and a duplicate DECLARE.
Since the inside of a macro can't tell or find out what the outside context
is, it can't do the wrapping to regain it.