Nevermind. Hygiene. -Ian ----- Original Message ----- From: "J. Ian Johnson" <[email protected]> To: "users" <[email protected]> Sent: Tuesday, November 29, 2011 7:44:21 PM GMT -05:00 US/Canada Eastern Subject: [racket] Abstracting over redex language via macro causes scope issues
Consider the following racket program: #lang racket (require redex/reduction-semantics) (define-language L [bar natural] [H (side-condition (name f any) (foo (term f)))]) (define-syntax-rule (foo i) (redex-match L bar i)) This expands just fine. However, try to abstract over L via a macro: #lang racket (require redex/reduction-semantics) (define-syntax-rule (M lang) (define-syntax-rule (foo i) (redex-match lang bar i))) (define-language L [bar natural] [H (side-condition (name f any) (foo (term f)))]) (M L) I get the error that foo is undefined. Why? -Ian _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

