Re: [racket-users] Basic macro question

2017-02-05 Thread keccak384
On Sunday, February 5, 2017 at 10:04:47 PM UTC-5, Philip McGrath wrote: > You need to have the lexical context information of x, y, and z come from > stx: otherwise, they will be protected by macro expansion (as a matter of > hygiene). > > > Here's one way to do it: > (define-syntax (a stx) >  

[racket-users] Basic macro question

2017-02-05 Thread keccak384
I must be missing something simple here. 229> (define-syntax a (lambda (stx) (syntax-parse stx [(a) #`(begin (define x 97) (define y 98) (define z 99))]))) 230>(a) 231>y 232; y:undefined; 233; cannot reference undefined identifier 234; [,bt for context] If