[plt-scheme] [redex] extending variable-except
On Tue, Jan 5, 2010 at 6:58 AM, Keiko Nakata <keiko at kurims.kyoto-u.ac.jp> wrote:
> Hi,
>
> As I extend a language in plt redex, I want to add to symbols, which
> must be excepted from variables. But, if I understand, I cannot extend
> the variable-except pattern with new keywords; can I? If I cannot,
> why?
>
If you use `variable-not-otherwise-mentioned' instead of
`variable-except', the extended language will inherit the base
language's keywords:
(define-language L
(e (λ (x) e)
(e e)
x)
(x variable-not-otherwise-mentioned))
(redex-match L e (term λ)) ; => #f
(define-extended-language M L
(e ....
(set! x e)))
(redex-match M e (term λ)) ; => #f
(redex-match M e (term set!)) ; => #f
Will that work for you?