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

Re: Issue: LOAD-TIME-EVAL (Version 8)



> Which intuition are we talking about abandoning:
> 
>  Intuition #1: (DOTIMES (I 5) (PRINT (LOAD-TIME-VALUE (F))))
>                evaluates the LOAD-TIME-VALUE expression only once.
							  â??â??â??â??
Don't you mean "at least" once here?

> 
>  Intuition #2: (DOTIMES (I 5) (PRINT (EVAL '(LOAD-TIME-VALUE (F)))))
>                evaluates the LOAD-TIME-VALUE expression at least 5 times.
> 
> I'm reluctant to abandon intuition #2 because I fear that it will complicate
> debugging tremendously. eg, if the dynamic state changes [eg, due to a bug
> fix] such that (F) can return a new value but it keeps returning an old value
> due to some hidden cache, I think the effects would be very frustrating.

I agree with you here.  What I was envisioning as a solution to Moon's
objections is that if you had several references to the same (EQ)
LOAD-TIME-VALUE expression within a single call to EVAL, COMPILE, or
COMPILE-FILE, it would be OK to evaluate it only once, but that each call
to EVAL, COMPILE, or COMPILE-FILE would have to start out with a fresh
"cache".  (No doubt somebody else can come up with some more elegant
verbiage to say this.)

-Sandra
-------