Date: Wed, 21 Sep 88 13:16:24 pdt
From: Eric Benson <eb@lucid.com>
Date: Wed, 21 Sep 88 15:58 EDT
From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
Also, I am concerned about how the "right thing" can be done with the
env argument in the case of
(EVAL-WHEN (EVAL COMPILE LOAD)
(DEFUN FOO (X) '(X #,(SQRT 3))))
... This should work:
(EVAL-WHEN (EVAL COMPILE LOAD)
(DEFMACRO LIST-FOR-FOO (&ENVIRONMENT ENV)
`(X ,(MAKE-LOAD-TIME-CONSTANT '(SQRT 3) ENV)))
(DEFUN FOO (X) (LIST-FOR-FOO)))
I'm not concerned that there is no way to get the right thing, I'm
concerned that the DWIM alluded to in Moon's stripped down proposal
is not possible to really guarantee. I'm concerned that if #, is
described as just "doing the right thing" environment-wise, then
it will lose randomly because that can't always be satisfied. Then
people will think of it as something yucky to be avoided rather than
something clean and graceful. [Btw, this is a case that was only
recently shown to me -- not something I knew when I wrote the
predecessor to his proposal.]
If instead LOAD-TIME-VALUE were a special form and #, could expand
into it (outside of QUOTE), there would be no such yuckiness for
people to get burnt by, so #, would not have to become something
that people avoided out of paranoia because they didn't understand it.