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

Re: issue EVAL-WHEN-NON-TOP-LEVEL, version 6



I like the intent of EVAL-WHEN-NON-TOP-LEVEL:GENERALIZE-EVAL but have some
wording quibbles.

If "the file compiler" means COMPILE-FILE, why not say COMPILE-FILE?  I'm
sure you don't mean to refer to, say, a C compiler written in Common Lisp,
even though it might be a file compiler. 

Instead of "a top-level form in the file compiler", say "a top-level form
processed by COMPILE-FILE." In any case, you don't mean to talk about one
of the expressions that occur in the source code that defines COMPILE-FILE.



  For an EVAL-WHEN form that is not a top-level form in the file compiler
  (that is, one of: in the interpreter; in COMPILE; or in the file
  compiler but not at top-level) ...


The "(that is, ..." clauses are neither exhaustive or appropriate. I think
you really mean "all other cases". I don't think you can have an EVAL-WHEN
that is 'at top level' to COMPILE since COMPILE takes functions or lambda
expressions. It's possible to think of a version of COMPILE-FILE that
produces things that are then 'interpreted' to some extent (byte-code
interpreter, for example).
Try,


	For an EVAL-WHEN that is not a top-level form processed by
	COMPILE-FILE, 


-- - - - - - - - - -

I'm not too opposed to :EXECUTE, :COMPILE and :LOAD as keywords, but don't
see the need for the extra verbosity of :COMPILE-TOPLEVEL or
:LOAD-TOPLEVEL. There are other ways to emphasize the "toplevel" aspect;
e.g., put ***WARNING*** in your reference manual.