[Haskell-cafe] A catch-all MonadIO instance
Bas van Dijk
v.dijk.bas at gmail.com
Fri Oct 28 16:51:47 CEST 2011
On 28 October 2011 16:23, Antoine Latter <aslatter at gmail.com> 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 <R.Paterson at city.ac.uk> 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
More information about the Haskell-Cafe
mailing list