HP 2015.2.0.0 and GHC 7.10
ekmett at gmail.com
Wed Mar 25 21:16:37 UTC 2015
On Mon, Mar 23, 2015 at 4:35 AM, Sven Panne <svenpanne at gmail.com> wrote:
> 2015-03-23 6:13 GMT+01:00 Mark Lentczner <mark.lentczner at gmail.com>:
> > [...] exceptions & multipart - needed by cgi - is exceptions now
> subsumed by
> > something in transformers? [...]
> Coincidentally, Edward Kmett pointed me to the exceptions package
> while I was trying to generalize some of my packages from using plain
> IO to MonadIO. Alas, the transformers package still doesn't subsume
> the exceptions package, but IMHO it really should. Looking at the
> import list of e.g. Control.Monad.Catch alone is already indicating
> that. :-)
transformers remains rather rigidly locked into Haskell 98/2010.
mtl uses comparatively few extensions.
exceptions uses rank-3 types in the API, which is something we currently
don't do in transformers or the mtl.
> BTW: System.Console.Haskeline.MonadException has something
> similar, but far less complete, too, but that's really a strange place
> for such a feature. How did it end up there?
Haskeline makes a few weird choices. e.g. The opacity of the InputT type
pretty much renders the library very difficult to use the moment you need
to do something that the package doesn't anticipate, like work with InputT
in a transformer and expect any instances to exist, handle exceptions
around _it_ in turn, lift monad transformers over it yourself, etc. =( I
have more code for working around this aspect of Haskeline than I do for
working with it. But it appears, in this case, Judah needed it for working
with InputT, and chose to implement that by lifting
transformer-by-transformer, since internally InputT is made by wrapping up
an mtl-based type in a newtype.
> ghc-devs mailing list
> ghc-devs at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ghc-devs