On 28 October 2011 16:23, Antoine Latter <[email protected]> wrote: > I would then need OverlappingInstances to declare a MonadIO instance > for any similar looking instance head (that is `t m`) where 't' was > not a proper MonadTrans instance, which sounds like a common enough > things to do.
I actually have never seen a MonadIO instance for a `t m` where 't' is not a MonadTrans instance. On 28 October 2011 16:24, Paterson, Ross <[email protected]> wrote: > It's done that way in transformers to keep the package portable. > As for doing it elsewhere, although this catch-all instance requires > UndecidableInstances, I don't think it introduces non-termination. I understand, portability is important for transformers. For monad-control it's less of an issue because I already use other language extensions (incl. RankNTypes). So I think I go ahead and add a catch-all instance for MonadControlIO to monad-control. Thanks for your responses, Bas _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
