> On Oct 18, 2015, at 9:03 AM, Gustavo Massaccesi <gust...@oma.org.ar> wrote: > > This "breaks" my old example: > > #lang hygienic-quote racket > (define-syntax-rule (quasiquote x) (reverse 'x)) > `(1 2 3 4) > > Nice idea! > > I found a strange side effect of the use of the marks. This compiles > without error: > > #lang hygienic-quote racket > > (define 'x 5) > (define 'x 5) > '3
Yes I did that on purpose. I do that here: https://github.com/AlexKnauth/hygienic-quote-lang/blob/master/hygienic-quote/reader.rkt#L80 <https://github.com/AlexKnauth/hygienic-quote-lang/blob/master/hygienic-quote/reader.rkt#L80> For that I had to create two scopes. One for the outside, which the quote identifier would not have at the end, and one for each inside, which the quote identifier would have but nothing else would. This inner scope is different for every use of the reader extension, just like it would be for each use of a regular macro. > But I think it's not a problem for real word use, and it's better than > the standard behavior. > > Gustavo > > On Fri, Oct 16, 2015 at 12:32 AM, Alex Knauth <alexan...@knauth.org> wrote: >> Sorry it took so long, but I just finished making a meta-language that adds >> quote, quasiquote, etc. as hygienic reader extensions. >> >> https://github.com/AlexKnauth/hygienic-quote-lang >> >> So now, you can write >> >> #lang hygienic-quote racket >> >> To make sure that the ' character will always be bound to the quote from >> racket/base, not some weird thing that you accidentally defined. It also >> does this for quasiquote, unquote, unquote-splicing, syntax, quasisyntax, >> unsyntax, and unsyntax-splicing. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.