On Mon, 18 Apr 2011, Alex Shinn wrote: > For example, if import is a macro which > basically expands into: > > (define <imported-variable> > (%module-ref <module> '<imported-variable)) > > then it's clearly a new binding, and won't match. Currently, > the standard does not explicitly forbid this approach, which > means you can't rely on being able to rename literal identifiers > like "else" and "=>".
Just another note. As someone who has implemented the R6RS macro and module system (in a form of explicit renaming system no less), it is clear to me from this and other remarks that you and perhaps others on the WG don't quite appreciate the technical ins and outs of implementing macros and modules in a mutually consistent way. I would therefore STRONGLY advise that, before you continue work on the module and macro system, you do a reference implementation first and foremost. That is what Kent, Matthew, Abdoulaziz and I did during R6RS. I cannot tell you how many of our very reasonable-seeming initial ideas we had to drop or modify along the way because of technical and logical consistency issues that would never have occurred to us if we hadn't done the implementations. Andre _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
