Hi Matthew, Your proposal sounds very good to me (for what my opinion is worth). Thanks. FWIW I give you my findings, which are positive. I have tried the snapshot with the tests of three of my systems: lc-with-redex (not in planet or github) fmt (on planet) infix (not yet in planet or github) In total over a thousand tests. All succeeded. infix has a phase nesting level of 3 or 4: macro definitions within macro definitions and requires at level 0 and 1 and much depending on free-identifier=?. No problem. Some of the tests use fresh namespaces with namespace-requires at relative level 0 and 1. No problem either. I ran all tests in DrRacket, hence times cannot be trusted, but I do not notice slow down. Thanks again, Jos
-----Original Message----- From: racket-users@googlegroups.com [mailto:racket-users@googlegroups.com] On Behalf Of Matthew Flatt Sent: jueves, 21 de mayo de 2015 15:15 To: us...@racket-lang.org Subject: [racket-users] try a new macro expander I've been working on a new model of macros for Racket. The new model provides a simple account of scope, makes reasoning about macros easier, and simplifies the implementation of the macro expander while fixing bugs (e.g., submodules in Typed Racket). You can read more about the model here: http://www.cs.utah.edu/~mflatt/scope-sets-5/ Section 3 includes a download link and a report on how current packages fare with the new expander: http://www.cs.utah.edu/~mflatt/scope-sets-5/implementation.html As that report shows, most libraries and packages work as-is, but not all of them work --- and that's counting only code that's registered at the package catalog. Unfortunately, we can't support multiple macro languages and keep all old libraries working unmodified. The change is at the level of syntax objects and scope representation, which is part of the foundation for supporting multiple languages, and all Racket languages have to agree on that part. Although my experience with the new expander has been positive, I don't think anyone else has worked with it seriously, yet. Give it a try if you have time. Otherwise, be prepared for me to come back in a few weeks and lobby for moving to a new macro expander. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.