[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
One other thing: you still have to let some of these things work from
interactive Lisp top level, or else it will be hard for programmers to
try things out, learn, interactively debug, and so on. I don't think
in-package is needed, but I think most of the others are.
By the way, our implementation doesn't actually forbid you from typing a
(declare ...) form at top level. It just returns the symbol DECLARE, as
Maclisp did. The interpreter does this with declare forms inside
programs, as well. The compiler gives you a warning, saying that the
declare doesn't belong there, and ignores it.
Your proposal uses the term "special form" in a non-standard way; COND
and DEFUN are special forms. In fact, I think the CLRM is wrong when it
refers to DECLARE as a special form; in fact, (DECLARE ---) isn't a form
at all, the way that the CLRM defines it. This is probably what led to