Ok but it still doesn't work if I take out the (begin-for-syntax).

(define-syntax-class x)

Now its defined at phase 0. Anyway if I can get the syntax class I can access 
its attributes (ryan said it was ok).

On 02/27/2012 01:28 PM, Carl Eastlund wrote:
> You've bound x at phase 1, but you're looking up a phase 0 binding here.
>
> Bug aside, I had no idea there was anything meaningful for external users to 
> do with the values underlying syntax classes.  What does the value let you do?
>
> Carl Eastlund
>
> On Mon, Feb 27, 2012 at 3:21 PM, Jon Rafkind <rafk...@cs.utah.edu 
> <mailto:rafk...@cs.utah.edu>> wrote:
>
>     I thought syntax-local-value would produce the syntax-class object that a 
> given identifier is bound to but it errors out with 'x is not defined as 
> syntax'. Any ideas why? There is one part of my original code base where this 
> works and another where it doesn't. I cannot seem to replicate the part that 
> works in a small test case.
>
>     #lang racket
>
>     (require (for-syntax syntax/parse))
>
>     (begin-for-syntax
>      (define-syntax-class x))
>
>     (define-syntax (bar stx)
>      (syntax-case stx ()
>        [(_ name) (syntax-local-value #'name)]))
>
>     (bar x)
>

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to