[racket] Compile-time vs. Runtime Calls to the Same Macro

From: Sina K. Heshmati (sina at khakbaz.com)
Date: Sun Feb 27 09:59:20 EST 2011

"Robby Findler" <robby at eecs.northwestern.edu> said:

> Add
> 
>   (require (for-template racket))
> 
> to dispatch.rkt/check.rkt (I think there's a typo below and that those
> two files are supposed to be the same) and you will not get an error
> anymore in the program below.
> 
> There are no reserved words in Racket, in the same was as in other
> languages, anyways. The identifiers public and private are bound by
> the require of racket and syntax-case uses that binding information
> when it compares identifiers.

Thank you very much, Robby. Your suggestion resolved the issue, indeed. I would never have come up with as straightforward a solution as the one you suggested.

Kind regards,
Sina K. Heshmati

For future readers, please also see:
http://lists.racket-lang.org/users/archive/2010-August/040985.html

Keywords: syntax-case literal id list, require for-template, nested syntax transformation, macro-writing macros, meta-macros, meta-meta-programs, multi-phase computation.




Posted on the users mailing list.