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

re: COMPILER-LET-CONFUSION



There's a minor bug and a non-CLtL-ism in your version of the
local-type-declaration example, but you've got the technique right.

First, CLtL says macro expanders are defined in the null lexical environment,
so you don't have the option of using the lexical TEMP, you have to use a
global.  Second, there's a missing quote (see below).

    (defmacro local-type-declare (declarations &body forms &environment env)
	`(symbol-macrolet ((,temp  ',(append declarations
	       ;;*** Missing quote â??
					    (symbol-macro-value temp env))))
	     ,@forms))

kab
-------