Be aware that `expand-all-judgment-form-expanders` does what it says on the tin: if the `(define-judgment-form …)` contains something that should in principle shadow the expander, e.g. something equivalent to `(let ([where/not (λ (x) 42)]) (where/not 'blah))`, then the `expand-all-judgment-form-expanders` will still blindly expand the inner `where`.
In other words, it does a substitution on the whole syntax tree, and does not recognise any sort of binding form in any special way. A better implementation of the "new" `define-judgment-form` I wrote in my previous e-mail would selectively expand judgment form expanders in the appropriate places, and detect shadowing instead of uniformly substituting all occurrences within the whole syntax tree. -- 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.