[Top][All Lists]

[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: Mon, 7 Apr 2008 12:11:12 +0200

On Fri, Apr 4, 2008 at 2:57 PM, Alaric Snell-Pym
<address@hidden> wrote:
>  What are people's feelings about moving it into the core? I know it's
>  nice to keep it simple, but there's a certain un-simplicity in
>  defining all the core macros with define-macro to just have them
>  redefined in terms of a hygienic macro system as soon as it's loaded,
>  and the chicken macro expander offered up to the garbage collector.
>  And having define-macro as the only macro system supplied out of the
>  box does sort of encourage people to use it when they'd really be
>  better off using something hygienic.

I'm currently working on a hygienic version of chicken (explicit-renaming +
syntax-rules) which is a first requirement for a full, macro-aware
module system (which is also being implemented). This will be fully
integrated and compatible with all special features (non-contiguous
local definitions, curried and empty "define" and DSSSL lambda-lists),
provide compiled macros (with support for the runtime-macros option/declaration)
and proper handling of syntactic environments. This will also obsolete
all external macro expanders and provide a more uniform handling of
extensions that provide syntax.

The downside is that define-record and in particular define-macro have to go.
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


reply via email to

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