[racket-dev] set!-transformers and syntax-local-value/immediate

2013-05-17 Thread Asumu Takikawa
Hi all, I'm confused about an aspect of set! and rename transformers. I'll explain with this example: #lang racket ;; a macro that uses `syntax-local-value/immediate` (define-syntax (lookup stx) (syntax-case stx () [(_ id) (let-values ([(f _) (syntax-local-value/immediate

Re: [racket-dev] set!-transformers and syntax-local-value/immediate

2013-05-17 Thread Carl Eastlund
Asumu, Your lookup macro's output just tells whether there is a rename somewhere between the binding for f and its original source binding. Rename transformers get injected all over the place. To get the real story, turn your lookup macro into a loop that chases the binding back to the source.

Re: [racket-dev] set!-transformers and syntax-local-value/immediate

2013-05-17 Thread Asumu Takikawa
On 2013-05-17 19:51:00 -0400, Carl Eastlund wrote: That's where the rename comes from. Ah, thanks! I should've looked closer at the expansion. (also thankfully it turns out I didn't need any complicated set!-transformer manipulation to do what I was trying to do) Cheers, Asumu