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

YARIM and the adbmal example

Re: your message of 10-May-85 14:39 EDT

Not only is your adbmal example "right", but the following would have to
work too
(defmacro mumble (x) `(lambda (,x) (list ,x)))
(defun foo () ((mumble z) (mumble z)))
I just tried this out in pdp10 maclisp, and it still sort of works [I 
remember putting this hac in about 1979 or 1980, and it wasn`t all
that well received even back then].

Incidentally, I did take your suggestion for macro-expansion contexts
seriously.  Not that I approve of going al the way for it, but you do
bring into focus the fact that several different kinds of processing
are going on during interpretations -- not just EVAL alone, but there
is FUNVAL (if you will) to fetch the function part, there is DODECLS
to add to a declarations database [Maclisp had a functional counterpart
to DECLARE, which is why macroexpansion seemed like such a natural idea
there], and there is lambda-list parsing.  I'd prefer to see a uniform
meta-expansion syntax -- such as defmacro -- but we may have to consider
context as per your suggestion.

-- JonL --