On Fri, Apr 4, 2008 at 2:57 PM, Alaric Snell-Pym <[EMAIL PROTECTED]> 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 entirely. cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
