This page is part of the web mail archives of SRFI 53 from before July 7th, 2015. The new archives for SRFI 53 contain all messages, not just those from before July 7th, 2015.
Andre van Tonder wrote:
So unless the performance problem can be ameliorated, giving a practical and truly portable implementation based on SYNTAX-RULES, there may be a case for withdrawal. Possible reasons for keeping it alive regardless of current performance are its conceptual simplicity (this remains a pure rewriting system, without the phase separation complexities of syntax-case), and the possibility that future additions to SYNTAX-RULESmay enable a more efficient implementation (however, it seems more likely that something like SYNTAX-CASE will become part of the standard).
I'm less than thrilled with syntax-case, mainly because it is so poorly specified. In fact there is no specification, just a bunch of neat examples of what you can do with it. But as an example I haven't seen any discussion of what is supposed to happen if a syntax transformer references a run-time variable. I've found the implementation and the description of syntax-case hard to understand, and not at all intuitive. The "portable" implementation is far from a direct drop-in to an existing implementation that aready supports macros, and figuring out what needs to be changed is non-trivial. I've started studying the implementation more than once, and decided I decided I have more important things to do.
On the other hand a syntax library like srfi-53 should be much easier to incorporate, even if I have to add a few new primitives.
-- --Per Bothner per@xxxxxxxxxxx http://per.bothner.com/