[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Macros and destructuring...
- To: Dave Touretzky at CMU-10A
- Subject: Re: Macros and destructuring...
- From: Daniel L. Weinreb <DLW at MIT-AI>
- Date: Wed, 1 Oct 80 08:02:00 GMT
- Cc: BUG-lisp at MIT-MC, BUG-lispm at MIT-MC, BUG-macsymai at MIT-MC
- Original-date: 1 October 1980 04:02-EDT
- Sender: DLW at CADR2 at MIT-AI
This discussion should be moved to LISP-FORUM. Dave, if you are not on
it, you probably should be. I'll send further messages to LISP-FORUM
instead of these BUG- lists.
What does a LEXPR take if not an argument vector?
It does not take an argument vector. The ARG function never returns any
such vector. ARG lets you get at your N arguments via an ugly mechanism
(numbers instead of names) because Maclisp hasn't had &mumbles. What
FEXPRs do is even more irrelevant; FEXPRs are basically a loss and do
not fit into what I consider reasonable philosophy of Lisp. I think
it is absurd to base a discussion of what Lisp ought to be on the basis
of what FEXPRs do now.
As for your second paragraph, I have already explained this in previous
messages. A macro is a function to the meta-lenguage, but it is a macro
to the language. To say that "A macro is still a function, just like a
FEXPR is" is quite wrong; FEXPRs aren't functions either. Saying that
destructuring in DEFUN "is a natural thing to do, because at least one
class of function really needs it" is exactly what I have been
disagreeing with; you should *not* add something just because one
application needs it, you can get destructuring with a DESTRUCTURE
special form quite easily without building it in, and macros are NOT
functions. Read my previous mail.