[Haskell-cafe] ANNOUNCE: vector-bytestring-0.0.0.0
es at ertes.de
Sat Oct 15 23:17:04 CEST 2011
Bas van Dijk <v.dijk.bas at gmail.com> wrote:
> > My suggestion was to remove the generic Show instance and add only
> > specialized instances. This is more work, but will also yield
> > better results. In particular, it allows specialized string
> > representations for other types, too.
> What exactly is the problem with using OverlappingInstances to define
> specialized Show and Read instances for Vectors with certain element
> types (Char, Word8, Bool)?
> Am I missing something dangerous here?
Consider having the following instances:
instance Show a => Show (Vector a)
instance Show (Vector Word8)
How could the compiler determine, which instance you want, when saying
where someVector :: Vector Word8? Both instances are valid here, and
there is no mechanism to choose one of them. You can only write a
generic instance, where you can rule out the specialized instances. I
don't think that's possible in this case.
nightmare = unsafePerformIO (getWrongWife >>= sex)
More information about the Haskell-Cafe