Probably I am mixing literal identifiers from distinct expansion phases. Nevertheless, I don't understand the behaviour of the program below. Explanation would be very welcome. I have looked into the expanded code with the macro stepper, but I could not find any code looking for the literals. #lang racket (require (for-syntax racket)) (define-syntax (try stx) (define-syntax (stx-case stx) (syntax-case stx () ((_ stx-expr clause ...) #'(syntax-case stx-expr (+ -) clause ...)))) (stx-case stx ((_ +) #''plus) ((_ -) #''minus) ((_ x) #''x))) (try +) ; -> plus; as expected (try -) ; -> plus; expected - (try a) ; -> plus; expected a I did this in the definitions window of DrRacket, version 6.1.1 [3m]. Language: racket [custom]; memory limit: 2000 MB. Thanks, Jos Koot
-- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.