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

Reply via email to