[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: GLS at MIT-AI
- From: RMS at MIT-AI (Richard M. Stallman)
- Date: Sun ,18 Jan 81 10:08:00 EDT
- Cc: LISP-FORUM at MIT-AI
I am at a loss to see why you accused the Lisp machine of
not making the interpreter and compiler do the same thing.
Perhaps you meant Maclisp?
On the Lisp machine, the interpreter and compiler agree
that only lists starting with lambda and symbols are
meaningful as the first element of a form.
I believe this is the right behavior, as far as actual
computed functions are concerned. It would be useful to
be able to use a macro call as the function, but it would be
better if these are not the same macros that are understood
at the expression level. That is because those macros
all expand into expressions, not functions. So it would be
better to make this a new, nonconflicting use of a symbol,
just as functions, variables and prog tags are nonconflicting.
These macros would be recognize at the start of a list which
is supposed to be a function. That is, in a list which is
the car of an expression, and in a list which is the argument
to FUNCTION, and nowhere else.
It's best to have no overlap between what the user can write for a
function and what he can write for an expression, unless they are the
completely the same (as they are in scheme).