G'day all.
Quoting Brian Smith <[EMAIL PROTECTED]>:
> Even if "undecidable instances" was standardized, would we want it
> turned on by default? I am trying to write "real" programs in Haskell
> and I have never even comtemplated using undecidable instances.
There's only one situation where I've found it necessary, and I think
it's due to a missing feature in Haskell.
Sometimes when I'm doing generic programming, I need a function to have
some group of typeclass constraints:
foo :: (MonadIO m, Ord k, Foo k v) => k -> m v
And sometimes these constraints appear in more than one function. For
brevity, I want a "typeclass synonym". The only way I've found to do
this is:
class (Monad m, Ord k, Foo k v) => MyCtx m k v
instance (Monad m, Ord k, Foo k v) => MyCtx m k v
which now requires undecidable instances.
Cheers,
Andrew Bromage
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe