Control.Monad.Error deprecated?

Hello everyone, I just discovered that Control.Monad.Error [1] has recently become deprecated in favor of Control.Monad.Except [2], and I am curious about what motivated the change. Can anyone explain? Thanks, Karl 1: http://hackage.haskell.org/package/mtl-2.2.1/docs/Control-Monad-Error.html 2: http://hackage.haskell.org/package/mtl-2.2.1/docs/Control-Monad-Except.html

On Sun, Sep 14, 2014 at 12:40:56PM -0700, Karl Voelker wrote:
I just discovered that Control.Monad.Error [1] has recently become deprecated in favor of Control.Monad.Except [2], and I am curious about what motivated the change. Can anyone explain?
I discovered it recently too, in a search for a package similar to ``either`` but which didn't rely on template-haskell. Not a maintainer, so just a wild guess: maybe it is because the new module hasn't got the ``class Error`` (and people wanted to get rid of it) and general less hairiness? The commits/changelog don't contain other info: https://github.com/ekmett/mtl/commits/master/Control/Monad/Except.hs

That's probably because Control.Monad.Trans.Error is deprecated since transformers-0.4 [1] [2]. Indeed, the `Error` class does not exist anymore. For `ExceptT`, we don't need to deal with `Error` anymore and there is no restriction on the error type. >From the change log of mtl-2.2.1: - Fix deprecation warnings caused by transformers 0.4 deprecating `ErrorT` https://github.com/ekmett/mtl/blob/master/CHANGELOG.markdown [1] https://hackage.haskell.org/package/transformers-0.4.1.0/docs/Control-Monad-Trans-Error.html [2] https://hackage.haskell.org/package/transformers-0.4.1.0/docs/Control-Monad-Trans-Except.html 2014-09-15 4:13 GMT+08:00 Francesco Ariis: > On Sun, Sep 14, 2014 at 12:40:56PM -0700, Karl Voelker wrote: > > I just discovered that Control.Monad.Error [1] has recently become > > deprecated in favor of Control.Monad.Except [2], and I am curious about > > what motivated the change. Can anyone explain? > > I discovered it recently too, in a search for a package similar to > ``either`` > but which didn't rely on template-haskell. > > Not a maintainer, so just a wild guess: maybe it is because the new module > hasn't got the ``class Error`` (and people wanted to get rid of it) and > general less hairiness? > > The commits/changelog don't contain other info: > > https://github.com/ekmett/mtl/commits/master/Control/Monad/Except.hs > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
participants (3)
-
Francesco Ariis
-
Karl Voelker
-
suhorng Y