On Mon, Sep 5, 2011 at 11:50 AM, Shriram Krishnamurthi <s...@cs.brown.edu> wrote: > In a syntax-case, I can obtain the term being processed: eg, > > (define-syntax (foo stx) > (syntax-case stx () > [... (with-syntax ([term stx]) ... #'term)])) > > In syntax-id-rules, the RHS is like a syntax-*rules*, so I don't know > of a way of obtaining access to the source. This would be > particularly useful since my id macros are expanding into regular term > macros, but I'd like the user to see errors in terms of the id text > (which I'm storing in a structure, hence the #'term above). > > Sorry if I'm missing something obvious; hopefully an archival answer > to this will help anyway.
Is there a reason not to just use `syntax-case' (or even better, `syntax-parse')? To convert it into a macro that works with `set!', you'll need to do something like this: (define-syntax foo (make-set!-transformer (lambda (stx) (syntax-parse stx ...)))) -- sam th sa...@ccs.neu.edu _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users