On Sun, Feb 5, 2017 at 10:12 PM, wrote:
> Ahh... datum->syntax, I thought I had seen something like this before. It is
> treating "a", or a's form, as the scope for the new ids essentially, but I
> can pick standard names. This just presupposes I only care to use my "a"
> macro once in any giv
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)
>
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)
> (syntax-parse stx
> [(a)
> (with-syntax ([x (datum->syntax stx 'x)]
>
On Sun, Feb 5, 2017 at 9:41 PM, wrote:
> 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; [,b
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
5 matches
Mail list logo