Suppose there were a way for a function to take its argument list as a
literal parameter (and perhaps also the caller's environment), so that
given the call (F A B C) the variable ARGS would be bound to (A B C)
and ENV to the caller's environment. It seems to me this would be an
alternative way of doing what macros do - am I missing anything?
--
"Sore wa himitsu desu."
To reply by email, remove
the small snack from address.
http://www.esatclear.ie/~rwallace
In article <··················@news.eircom.net>,
················@eircom.net (Russell Wallace) wrote:
> Suppose there were a way for a function to take its argument list as a
> literal parameter (and perhaps also the caller's environment), so that
> given the call (F A B C) the variable ARGS would be bound to (A B C)
> and ENV to the caller's environment. It seems to me this would be an
> alternative way of doing what macros do - am I missing anything?
It would require run-time calls to EVAL, which would be significant
overhead. With macros, the expansion can be compiled.
--
Barry Margolin, ······@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
In article <··················@news.eircom.net>,
················@eircom.net (Russell Wallace) wrote:
> Suppose there were a way for a function to take its argument list as a
> literal parameter (and perhaps also the caller's environment), so that
> given the call (F A B C) the variable ARGS would be bound to (A B C)
> and ENV to the caller's environment. It seems to me this would be an
> alternative way of doing what macros do - am I missing anything?
Lisp history perhaps?
Read about FEXPRs, LEXPRs, NLAMBDAs, ... in your favorite Lisp
history book.
Rainer Joswig <······@lispmachine.de> writes:
> In article <··················@news.eircom.net>,
> ················@eircom.net (Russell Wallace) wrote:
>
>> Suppose there were a way for a function to take its argument list as a
>> literal parameter (and perhaps also the caller's environment), so that
>> given the call (F A B C) the variable ARGS would be bound to (A B C)
>> and ENV to the caller's environment. It seems to me this would be an
>> alternative way of doing what macros do - am I missing anything?
>
> Lisp history perhaps?
>
> Read about FEXPRs, LEXPRs, NLAMBDAs, ... in your favorite Lisp
> history book.
Let's hope his mind (and stomach) are strong enough to take this
information. Then again, he's already started down that path, so maybe
it's better he sees how convoluted those systems ended up being.
http://www.nhplace.com/kent/Papers/Special-Forms.html
Then again, what he's describing is exactly how a macro is called. He
just doesn't make that ever-so-critical distinction of times. (And the
extra flexibility in destructuring and being able to choose your lambda
variables that a macro lambda list offers.)
--
Rahul Jain
·····@nyct.net
Professional Software Developer, Amateur Quantum Mechanicist
On Sun, 02 May 2004 16:31:20 GMT, Rahul Jain <·····@nyct.net> wrote:
>Let's hope his mind (and stomach) are strong enough to take this
>information. Then again, he's already started down that path, so maybe
>it's better he sees how convoluted those systems ended up being.
>
>http://www.nhplace.com/kent/Papers/Special-Forms.html
Ah, good article thanks!
--
"Sore wa himitsu desu."
To reply by email, remove
the small snack from address.
http://www.esatclear.ie/~rwallace