On Apr 18, 2010, at 11:01 AM, Limestraël wrote:
It's strange I can't declare a generic instance for Binary types...
I thought I was trying to do something quite common in Haskell.
A common workaround is to define a newtype like this
newtype GenericBinary a = GB { fromGB :: a }
and an instance like this
instance Binary a => Binarizable (GenericBinary a) a where
toBinary = fromGB
which only needs FlexibleInstances enabled.
You can then 'tag' Binary types for which you want to use the generic
default instance above with the GB newtype constructor. Whether this
is less of a pain than implementing a Binarizable instance for each
Binary type is a different question..
Sebastian
--
Underestimating the novelty of the future is a time-honored tradition.
(D.G.)
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe