[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Corrected version, performance, withdrawal?

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-RULES
may 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/