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

Re: LOAD-TIME-EVAL



> My problem with anything that has "EVAL" in it is that it gets involved in
> problems of quoting. I think people would expect EVAL-AT-LOAD-TIME to do 
> `double evaluation' that EVAL is always accused of doing (once at argument
> evaluation time, once in the function itself).
> 
> I also would prefer a name that was passive rather than active for similar
> reasons and for reasons of personal stylistic preference.
> 
> How would LOAD-TIME-VALUE strike you?

Kent,
That sounds fine to me.

> An interesting issue that I don't remember if I addressed was whether 
> multiple values could fall through. If you believed in such things, you
> might like LOAD-TIME-VALUES.

That sounds ugly.  Unless someone can demonstrate a compelling need for
multiple values there, I'd rather not have to support it.

> The reason that I mention this is that maybe we should take the hint from
> the people who've referred to own variables and call the form OWN-VALUE
> (or OWN-VALUES). 

Algol programmers know what "own" means, but I think the C term "static"
is more meaningful.

>...
> I could even imagine some fan of own variables coming up with:
> 
>  (DEFMACRO WITH-OWN-VARIABLES (BINDINGS &BODY DECLS-AND-FORMS)
>    `(LET ,(MAPCAR #'(LAMBDA (BINDING)
> 		      `(,(CAR BINDING) (OWN-VALUE ,(CADR BINDING))))
> 		  BINDINGS)
>       ,@FORMS))

But that's not really an "own" variable because any alteration by SETQ
is local to the current invocation of the function.

  -- David Gray