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

several questions, some trivial

Missing from the index of the CL manual:
"rest" as in "&rest" and &others 

The issue of identical semantics for compiled and interpreted programs
has been touted as an important step forward.

If I understand the manual, (nearly) identical semantics 
pertain to CORRECT programs only.
If there are declarations, those too must be CORRECT declarations.  

If we look at Maclisp with (declare (special t)), is it not the
case that (nearly) identical semantics are used for the interpreter
and compiler, given CORRECT programs?

In Maclisp, if there are declarations which are correct, are not the semantics
still (nearly) identical?

(I suppose "nearly" because one could write self-modifying functions and
  other monstrosities in CL or Maclisp.)

Since most programs are, for most of their lives, "incorrect", aren't we
open to the accusation of missing the main point here?
Leaving car of an atom as undefined (e.g.) means that
compiled and interpreted versions of the same program can do different
things. This can be just as subtle as dynamic/lexical binding.