[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