Note that syz is essentially based on Data.Data, which is no less "official" than GHC.Generics. (The compiler can derive Data with -XDeriveDataTypeable.) I am not sure what your primary concern is. In case you are concerned with the ease of deriving generic instances, almost every generics library out there, including traverse-with-class, provides a TH function for deriving the necessary instances. You can write a zipper based on GHC.Generics, but it won't be a straightforward translation of syz (nor would it be a trivial undertaking). Roman * Luke Evans <luke@eversosoft.com> [2013-04-10 16:38:17-0700]
Hmm, in my naivety I failed to notice that the 'official' GHC.Generics are completely different to SYB on which syz is built. Classic case of reading the same words/names and assuming they're exactly the same thing.
Maybe it's not that hard to rewrite syz in terms of GHC.Generics.Generic (I'll perhaps take a look), but maybe there's a generic Zipper library already based on the GHC stuff?
On 2013-04-10, at 3:19 PM, Roman Cheplyaka <roma@ro-che.info> wrote:
...Apart from that, I am not aware of any problems with syz.
Roman