
Hi Luke,
Even though you might have made up your mind already, here's some more
info. If you want a
zipper that does not use Typeable (and thus runtime type comparison and
casting, which are
potentially inefficient), you can use the zipper in Multirec [1].
Creating a zipper based on GHC.Generics should be easy taking the zipper
based on
instant-generics [2], or you can just use Sean Leather's rendering [3].
Cheers,
Pedro
[1] http://hackage.haskell.org/package/multirec
[2] http://hackage.haskell.org/package/instant-zipper
[3] https://github.com/spl/generic-deriving-extras
On Thu, Apr 11, 2013 at 8:44 AM, Luke Evans
Thanks Roman.
I'll probably go with Data.Data then. Certainly, I'm not looking for any significant distractions and I'll heed your cautionary note. I read that GHC.Generics is fit and fast in comparison to SYB, but that's not really a big concern for me at the moment. I just fell in to believing that GHC.Generics was the true religion given its apparent status as the adopted generics in GHC.
On 2013-04-10, at 11:24 PM, Roman Cheplyaka
wrote: Note that syz is essentially based on Data.Data, which is no less "official" than GHC.Generics. (The compiler can derive Data with -XDeriveDataTypeable.)
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
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe