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.
Wooohoo! Is there any overlap of work there with Alex's changes to riaxpander - can you use that and save some effort?
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...
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... :-) ABS -- Alaric Snell-Pym Work: http://www.snell-systems.co.uk/ Play: http://www.snell-pym.org.uk/alaric/ Blog: http://www.snell-pym.org.uk/?author=4 _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users