Hi, <br><br>I'm a newcomer to Racket, and, so far, I love it.� The language is a joy, and the documentation is well-written, but I find myself struggling a bit with the section in The Guide on macros.<br><br>In regards to syntax-rules and syntax-id-rules there is 'literal-id' parameter that I don't understand.� In the syntax-rules example with rotate, it's left blank, but in the syntax-id-rules example with clock, it's populated with 'set!'.� What specific purpose does this serve?� It seems to me that the syntax for set! would be matched in the pattern below 'set! clock e', so I don't know what other information it imparts.<br>
<br>Also, syntax-id-rules seems to be used, as stated in the documentation, for cases where the macro form won't follow an open parenthesis, and when using set!.� I know that set! is a special mutator function, but it seems strange to me that one function has an entirely special case.<br>
<br>Finally, reading through the reference, #' serves, I believe, as shorthand for (syntax), but in what practical situations would I then call it?<br><br>Thanks for the help,<br><br>Todd <br>