[Haskell-cafe] Copying a syntax tree
Sergey Mironov
ierton at gmail.com
Tue Oct 2 09:55:22 CEST 2012
Hi! I have a syntax tree defined like this:
>
> data A a = A Int Int (B a)
>
> data B a = B String String (C a)
>
> data C a = C Int Int (D a)
>
and so on, all the data are parametrized with a type variable. This variable
is actually used as a field in the very end of a hierarchy:
>
> data D a = D Int a
>
Now I have to write a function which would copy (A Int) to (A String). Is it
possible to do so using TH/syb without writing
copyA (A i1 i2 b) = A i1 i2 (copyB b)
copyB = ...
copyC = ...
..
copyD (D i a) = D i (show a)
?
Could you provide me with a hint?
Thanks,
Sergey
More information about the Haskell-Cafe
mailing list