Hi all,
I am implementing something which needs to make use of
generic rewriting. I tried implementing a rewriting system of my own,
using Uniplate's transform and rewrite methods, and currently I am
trying to use the guarded-rewriting package. (whose maintainer is generics@haskell.org)
I am reading the paper linked from hackage, A Lightweight Approach
to Datatype-Generic Rewriting, and I must say I quite liked the approach
in most places. Especially not using simple pattern matching in rewrite
rules is an important step, to my understanding. However I do have some
questions regarding the toolchain:
- There is another package, rewriting, which links to the same
paper. What is the relationship between these two implementations? Is
one of them obsolete?
- In the paper, it's mentioned that the
Representable instances might be generated automatically. I have quite a
complex term structure (and subject to changes), so I wonder if you are
planning to work towards achieving this. If not, can you give me some
pointers to automate this process myself?
- Is it possible to write "nice" show functions for rewrite rules,
namely the Rule data type.
Thanks a lot for this work,
Best,
--
Ozgur Akgun
PhD Student
University of St Andrews