Claus Reinke wrote:
Actually, standalone deriving doesn't really solve the boilerplate
boilerplate problem. My original complaint here is that I don't want
to explicitly declare a deriving (Data,Typeable) for every type used
somewhere inside a larger type I am using. In this particular case,
I am using SYB to autogenerate/autoparse XML. The Atom/RSS datatype
has a lot of elements in it. Having to do an explicit declaration of
deriving (Data,Typeable) for each of them is just a tremendous
beat-down no matter where I do it.
A simple solution to the problem is just to have the compiler
automatically derive Data and Typeable for all classes.
it still sounds as if you might want to follow Neil's suggestions
about using
Data.Derive, which does seem to have a derive-this-for-all feature.
The problem with Data.Derive is that I now have a pre-processor cycle as
part of my build process. Automatic and universal Data and Typeable
instance deriving should just be built into Haskell. I totally agree
that, if you don't have this deriving by default, it is totally useful
to be able to derive in a location different from where the type is
declared, but that is a separate issue. My main point is that Data and
Typeable should always be there without extra futzing on the part of the
programmer.
Speaking of which, any thoughts on fixing my SYB code in the other thread?
-Alex-
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe