On Fri, Nov 13, 2009 at 8:57 AM, Sam TH <sa...@ccs.neu.edu> wrote: > On Fri, Nov 13, 2009 at 4:19 AM, Dave Gurnell <d.j.gurn...@gmail.com> wrote: >> >> Hi all, >> >> I haven't managed to fix this in its entirety and I'm not sure how to go >> about it correctly. >> >> The eq? match expander now looks like this: >> >> ; (_ expr pattern ...) >> (define-match-expander match:eq? >> (lambda (stx) >> (syntax-case stx () >> [(_ expr pattern ...) >> #'(? (cut eq? <> expr) pattern ...)])) >> (lambda (stx) >> (syntax-case stx () >> [_ #'eq?]))) >> >> However, the second transformer procedure only works if eq? is in >> application position. Looking at the docs, I assume I want to use >> make-rename-transformer in some way but I can't work out how in this >> context. > > Unfortunately, the result of `make-rename-transformer' isn't a > procedure (Matthew, could this be changed?), so you can't use it here.
The (planet cce/scheme) package includes `redirect-transformer' for this purpose. Just use (redirect-transformer #'eq?) and it will produce a transformer procedure that does the right work. --Carl _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev