<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.7600.16722"></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=752261114-07042011><FONT color=#0000ff
size=2 face=Arial>Also very interesting is eli's <A
href="http://blog.racket-lang.org/2008/02/dirty-looking-hygiene.html">http://blog.racket-lang.org/2008/02/dirty-looking-hygiene.html</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=752261114-07042011><FONT color=#0000ff
size=2 face=Arial>Teaches how to ittify with syntax-rules and <FONT
size=3>syntax-parameterize.</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=752261114-07042011><FONT color=#0000ff
size=2 face=Arial>Jos</FONT></SPAN></DIV><BR>
<BLOCKQUOTE
style="BORDER-LEFT: #0000ff 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> users-bounces@racket-lang.org
[mailto:users-bounces@racket-lang.org] <B>On Behalf Of </B>Stephen De
Gabrielle<BR><B>Sent:</B> 05 April 2011 11:10<BR><B>To:</B>
users<BR><B>Subject:</B> Re: [racket] Newbie question: Teach Yourself Scheme
in Fixnum Days- macros<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>In case any lurkers like me are interested.</DIV>
<DIV><A
href="http://blog.racket-lang.org/2011/04/writing-syntax-case-macros.html">http://blog.racket-lang.org/2011/04/writing-syntax-case-macros.html</A></DIV>
<DIV> </DIV>
<DIV>Stephen</DIV>
<DIV><BR> </DIV>
<DIV class=gmail_quote>On Tue, Apr 5, 2011 at 12:51 AM, Robby Findler <SPAN
dir=ltr><<A
href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</A>></SPAN>
wrote:<BR>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>
<DIV class=im>On Mon, Apr 4, 2011 at 6:25 PM, Eli Barzilay <<A
href="mailto:eli@barzilay.org">eli@barzilay.org</A>> wrote:<BR>> Four
hours ago, Robby Findler wrote:<BR>>><BR>>> It looks like a
great macro essay for a certain crowd (altho the<BR>>> essay seems to
insult that selfsame crowd; perhaps you are assuming<BR>>> that that
crowd is into S&M?).<BR>><BR>> Where's the insult? (I didn't
mean any insult -- the only thing I can<BR>> think of is the "nostalgia"
reference, which is not an insult but the<BR>> often expressed sentiment
for "a simple system, like `defmacro'".)<BR><BR></DIV>Well, the scare quotes
are a way to put down things, generally speaking.<BR>
<DIV class=im><BR>><BR>>> Some comments:<BR>>><BR>>>
- I probably would have used #` in the second while macro. Yes,
I<BR>>> see you mention it later, but doing it at that point seems to
fit<BR>>> with what the reader's been given at that
point<BR>><BR>> Well, that's one point where the purpose of the
document is different<BR>> from a generic guide: my main goal was to
write a quick intro to<BR>> people who are familiar with `defmacro' -- so
I wanted to make it very<BR>> clear that it's the same kind of thing,
only with wrapped sexprs<BR>> instead of raw ones. In this case, I
think that the long route is<BR>> better -- it shows that the extra tools
(like #`) make things easier<BR>> only after you're aware of what goes on
(and the fact that there's no<BR>> complicated magic involved, which is
the frequent complain against<BR>> `syntax-case').<BR><BR></DIV>Yes, and
the second while macro is a fine place to say that, in my<BR>opinion.
Indeed, it seems like the most natural point to go to next<BR>and then to
continue later to say what is happening with the # on the<BR>front. This is
just how your text is already building (in a good way<BR>imo).<BR>
<DIV class=im><BR>><BR>>> - it would be good if you did some
kind of a computation at compile<BR>>> time, preferably to demonstrate
an interesting computation one<BR>>> should want to do at compile
time. Maybe a macro that embeds a<BR>>> formatted source location into
its output?<BR>><BR>> Good idea, I'll add
something.<BR>><BR>><BR>>> - cpp macros are, I believe,
based on lexemes, not strings (so you<BR>>> cannot have an unclosed
string in a macro or something).<BR>><BR>> Yeah, I couldn't find a way
to phrase it better than stick a random<BR>> "roughly" in. Using
"lexemes" is a good word to describe it, but it's<BR>> a little too
opaque -- any ideas for something more light?<BR><BR></DIV>"lexical tokens,
like strings, parens, ..."?<BR>
<DIV class=im><BR>><BR>>> At least nowadays they
are.<BR>><BR>> Yes -- I definitely have used `#define's with a
double-quote opener.<BR><BR></DIV>I think you can still pass an arg to gcc
to get the old behavior back.<BR><FONT color=#888888><BR>Robby<BR></FONT>
<DIV>
<DIV></DIV>
<DIV
class=h5><BR>_________________________________________________<BR> For
list-related administrative tasks:<BR> <A
href="http://lists.racket-lang.org/listinfo/users"
target=_blank>http://lists.racket-lang.org/listinfo/users</A></DIV></DIV></BLOCKQUOTE></DIV><BR><BR
clear=all><BR></BLOCKQUOTE></BODY></HTML>