[racket] Macros and literal-id

From: Jos Koot (jos.koot at telefonica.net)
Date: Tue Aug 9 13:30:13 EDT 2011

I enjoyed glancing through your links. In the first one I saw the word
'recurse'. I think you ment 'recur', not 'curse again' :)
Jos

-----Original Message-----
From: users-bounces at racket-lang.org [mailto:users-bounces at racket-lang.org]
On Behalf Of Neil Van Dyke
Sent: martes, 09 de agosto de 2011 19:02
To: Prabhakar Ragde
Cc: users at racket-lang.org
Subject: Re: [racket] Macros and literal-id

Prabhakar Ragde wrote at 08/09/2011 12:05 PM:
> Neil Van Dyke wrote:
>
>> The hardest macro tasks, in "syntax-rules",
>> become opportunities to show off how well one can do scary-looking CPS
>> that's really expensive at expansion time.
>
> For my edification, as well as that of other macro newbies, can you 
> give some examples of this, and how syntax-case can be more 
> expressive? Thanks. --PR

Someone other than me can do a better job of explaining, but I'll 
quickly and gauchely link to my blog, for some things that were harder 
in "syntax-rules" than they would've been in "syntax-case":

http://www.neilvandyke.org/weblog/2010/10/#2010-10-08
http://www.neilvandyke.org/weblog/2008/11/#2008-11-03
http://www.neilvandyke.org/weblog/2009/04/#2009-04-06
http://www.neilvandyke.org/weblog/2009/11/#2009-11-28

Then there are things that are possible in Racket's "syntax-case" but 
impossible in RnRS "syntax-rules" (unless perhaps your name is Oleg).  
My forthcoming "html-template" package, for example, is implemented 
using "syntax-case", so that it can generate large strings of HTML at 
expansion time instead of while you're trying to serve Web pages quickly.

-- 
http://www.neilvandyke.org/
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users



Posted on the users mailing list.