Jens Axel Søgaard writes: > Since the expansion of (bar x) depends on the identifiers > in the surrounding usage of foo, one solution is to use > syntax-parameters that adjust the meaning of (bar x) > according to the context in which it appears.
Thanks, that sent me off to an interesting read in the docs.. from which I conclude that syntax-parameterize is the analogue of macrolet in the Common Lisp world. If I understand everything correctly, your version differs from my original code in that the test is done at macro expansion time, rather that at evaluation time. That shouldn't be a problem for the application I have in mind. Your example does the opposite of Greg's: it factors out the pattern but not the expansion. I'll try to figure out if I can combine both of your suggestions to factor out both aspects, but not today... Thanks again, Konrad. ____________________ Racket Users list: http://lists.racket-lang.org/users