[pro] substitution macro lisp extension?

Mark H. David mhd at yv.org
Wed Sep 22 15:32:05 UTC 2010


  This is different from inlining in that does not generate a function.  You cannot funcall the
defined symbol, just use it as a macro.  Call sites always macro-expand.  I don't really care
about or want to really get into a discussion of what compilers do or not, or whether this
is "useful" or not.  Just wondering if this is some available functionality.  E.g., is the Allegro
thing contributed to the world, or just proprietary?

Thanks,

Mark

Hans Hübner wrote:
> On Wed, Sep 22, 2010 at 17:18, Daniel Weinreb<dlw at itasoftware.com>  wrote:
>> How is this different from using an "inline" declaration?
> Some compilers ignore inline declarations.  With defsubst, you are not
> at the mercy of the compiler.  I have used defsubst (Allegro CL has
> it) in places where I was absolutely sure that inlining was the right
> thing to do.  Then again, Allegro CL had me do that because it ignores
> inline declarations, so the whole thing may be a non-issue with other
> compilers.
>
> -Hans




More information about the pro mailing list