From: An Metet
Subject: Portability of macro expansion between implementation
Date: 
Message-ID: <8b900d6682c255676c8c771a73213bcb@aonymous.poster>
NOTICE: This message may not have been sent by the Sender Name
above.  Always use cryptographic digital signatures to verify
the identity of the sender of any usenet post or e-mail.

Suppose I want a new macro that is very close to a common lisp macro,
For instance I want my-defparameter, to evaluate its first argument to obtain
the parameter symbol. Macroexpanding defparameter and adding a few
commas creates the body for 
(defmacro My-defparameter (sym-expr  val-expr) ....
But will this code obtained like this be portable between implementations?

---
Try Anything Twice
From: Barry Margolin
Subject: Re: Portability of macro expansion between implementation
Date: 
Message-ID: <barmar-A91F9F.13102006032004@comcast.ash.giganews.com>
In article <································@aonymous.poster>,
 An Metet <··································@[127.1]> wrote:

> NOTICE: This message may not have been sent by the Sender Name
> above.  Always use cryptographic digital signatures to verify
> the identity of the sender of any usenet post or e-mail.
> 
> Suppose I want a new macro that is very close to a common lisp macro,
> For instance I want my-defparameter, to evaluate its first argument to obtain
> the parameter symbol. Macroexpanding defparameter and adding a few
> commas creates the body for 
> (defmacro My-defparameter (sym-expr  val-expr) ....
> But will this code obtained like this be portable between implementations?

No.  The macro expansion may (and often does) include calls to 
implementation-dependent functions and macros.

-- 
Barry Margolin, ······@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***