Changelog of @haskell/mtl 2.3.1

2.3.1 -- 2022-09-10

  • Add modifyError to Control.Monad.Error.Class, and re-export from Control.Monad.Except.
  • Make the MonadCont instance for ContT more polykinded; now, r is allowed to be of an arbitrary kind k, rather than only Type.
  • Add a generic liftCallCC for use with any MonadTrans.
  • Add modifyError to Control.Monad.Error.Class
  • Return re-export of ExceptT and related functions to Control.Monad.Except.
  • Add label function to MonadCont

2.3 -- 2022-05-07

  • Add instances for Control.Monad.Trans.Writer.CPS and Control.Monad.Trans.RWS.CPS from transformers 0.5.6 and add Control.Monad.Writer.CPS and Control.Monad.RWS.CPS.
  • Control.Monad.Cont now re-exports evalCont and evalContT.
  • Add tryError, withError, handleError, and mapError to Control.Monad.Error.Class, and re-export from Control.Monad.Except.
  • Remove Control.Monad.List and Control.Monad.Error.
  • Remove instances of deprecated ListT and ErrorT.
  • Remove re-exports of Error.
  • Add instances for Control.Monad.Trans.Accum and Control.Monad.Trans.Select.
  • Require GHC 8.6 or higher, and cabal-install 3.0 or higher.
  • Require transformers-0.5.6 or higher.
  • Add Control.Monad.Accum for the MonadAccum type class, as well as the LiftingAccum deriving helper.
  • Add Control.Monad.Select for the MonadSelect type class, as well as the LiftingSelect deriving helper.
  • Remove re-exports of Control.Monad, Control.Monad.Fix and Data.Monoid modules

2.2.2 -- 2018-02-24

  • Control.Monad.Identity now re-exports Control.Monad.Trans.Identity
  • Fix a bug in which Control.Monad.State.Class.modify' was not as strict in the new state as its counterparts in transformers
  • Add a MonadError () Maybe instance
  • Add liftEither :: MonadError e m => Either e a -> m a to Control.Monad.Except{.Class}
  • Add a MonadWriter w ((,) w) instance (when built against base-4.9 or later)

2.2.1 -- 2014-06-02

  • Provide MINIMAL pragmas for MonadState, MonadWriter, MonadReader
  • Added a cyclic definition of ask in terms of reader for consistency with get/put vs. state and tell vs. writer
  • Fix deprecation warnings caused by transformers 0.4 deprecating ErrorT.
  • Added Control.Monad.Except in the style of the other mtl re-export modules -- 2014-05-05

  • Fixed a bug caused by the change in how transformers 0.4 exports its data types. We will now export runFooT for each transformer again!

2.2 -- 2014-05-05

  • transformers 0.4 support
  • Added instances for ExceptT
  • Added modify' to Control.Monad.State.* -- 2014-03-24

  • Avoid importing Control.Monad.Instances on GHC 7.8 to build without deprecation warnings.


  • Removed the now-irrelevant Error constraint from the MonadError instance for Either e.