chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] macro systems and chicken (long)


From: felix winkelmann
Subject: Re: [Chicken-users] macro systems and chicken (long)
Date: Tue, 8 Apr 2008 12:13:53 +0200

On Mon, Apr 7, 2008 at 12:24 PM, Alaric Snell-Pym
<address@hidden> wrote:
>
>  Wooohoo! Is there any overlap of work there with Alex's changes to
>  riaxpander - can you use that and save some effort?
>

No, currently not.

>
>
> > The downside is that define-record and in particular define-macro
> > have to go.
> >
>
>  Hmmm, I'd have thought that both could be easily implemented on top
>  of ER macros. define-macro just defines a macro that never renames...

Yes, but this is a problem with renamed bindings introduced by hygienic
macros. For example:

(define-syntax foo
  (syntax-rules ()
    ((_ x) (let ((tmp x)) (assert x "failed")))))

where "assert" is defined with define-macro will break, because
the "tmp" introduced by "foo" is renamed (to avoid conflicts with
other bindings of "tmp"). To make low-level macros work, all
syntactic information has to be stripped, and the alias for
"tmp" is lost. I'm not very good at explaining this, hygienic
macro system implementation is a very new subject to me.

> > Work is in progress, and there are still a lot of things to be
> > implemented. When this is in a
> > releasable state, I invite everybody to test it and think about
> > whether
> > we are willing to accept major incompatibilities with such a
> > change. Many
> > eggs will have to be adapted and some will have to be removed
> > entirely.
> >
>
>  Well, sounds like an excuse of a hackathon... :-)
>

We'll probably need more than one to make everything work
again... ;-)


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]