[plt-scheme] [redex] extending languages
Hello,
I am wondering what would be a recommended way to play with
extending languages in plt redex.
[In short, I am facing the so-called expression problem.]
When a language is extended with new constructs, then I need to extend
both the reduction-relation and associated metafunctions, such as one
for substitution. As a reduction-relation is extended,
rules inherited from the original reduction-relation should use
extended metafunctions. Similarly when a metafunction g, which may call
another metafunction f, is extended,
clauses inherited from original should call the extended version of f.
Is this doable within redex facilities?
Or, should/could I use PLT's unit system?
Best,
Keiko