[PRL] syntax-case
Mitchell Wand
wand at ccs.neu.edu
Sat Apr 3 05:58:48 EST 2004
In case you're not subscribed to the srfi mailing list.
--Mitch
Resent-Message-ID: <vEl8P.A.qUE.EQobAB at rotkohl>
Resent-From: srfi-53 at srfi.schemers.org
Resent-Sender: srfi-53-request at srfi.schemers.org
Resent-Date: Sat, 3 Apr 2004 11:29:40 +0200 (DFT)
From: Per Bothner <per at bothner.com>
To: Andre van Tonder <andre at het.brown.edu>
Cc: srfi-53 at srfi.schemers.org
Subject: Re: Corrected version, performance, withdrawal?
Date: Sat, 03 Apr 2004 01:29:37 -0800
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 at bothner.com http://per.bothner.com/
More information about the PRL
mailing list