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-boun...@racket-lang.org [mailto:users-boun...@racket-lang.org] On Behalf Of Neil Van Dyke Sent: martes, 09 de agosto de 2011 19:02 To: Prabhakar Ragde Cc: users@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 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users