- Tweak error messages of
fromRight'
andfromLeft'
for clarity. - Allow building with
mtl-2.3.*
.
- Only incur a
semigroups
dependency on pre-8.0 GHCs.
- Make the
Semigroup
,Apply
, andApplicative
instances forValidation
lazier. - Make
vap
lazier in its second argument. - Introduce
vapm
, an even lazier version ofvap
which requires aMonoid
constraint. Also addapm
, a counterpart forValidation
. - Use
test-framework
andQuickCheck
in the test suite.
- Changed the semantics of the
Validation
Alt
andAlternative
instances to collect errors. The previous implementation did not correctly abide the laws. - Added
vap
, for when users want validation like semantics but don't want to convert back and forth to validation all the time. Similarly, addedealt
to give either'sAlt
semantics to validation. - Dropped the deprecated
Control.Monad.Trans.Either
. UseControl.Monad.Trans.Except
fromtransformers
and/ortransformers-compat
instead.
- Add
MMonad
instance forEitherT
- Deprecate
Control.Monad.Trans.Either
in favor ofControl.Monad.Trans.Except
- Add
firstEitherT
- Fixed building on newer GHCs. (type synonyms require explicit foralls for unused variables these days)
transformers
0.5 support- Documentation fixes
- Support
mmorph
- Support
MonadRandom
0.4
- Support
bifunctors
5,profunctors
5, andsemigroupoids
5.
- Fixed and enhanced documentation for
eitherToError
.
- Support
exceptions
0.8
- Support
exceptions
0.7
- Added
eitherToError
.
- Support
monad-control
1.0
- Added
Validation
.
- Updated MonadRandom support.
- Fixed import of
MonadCatch
to support versions ofbase
before 4.6
- Inverted dependency between
free
andeither
.
- Added instances for
MonadThrow
,MonadCatch
.
- Added instances for
MonadBase
,MonadBaseControl
, andMonadTransControl
.
- Updated dependencies.
- Added 'Data.Either.Combinators'.
- Trustworthy despite UndecidableInstances
- Delegate
fail
to the underlyingMonad
, rather thanerror
.
- Inverted roles between
Semigroup
andAlt
. This let us writeAlternative
andMonadPlus
instances that are compatible. - Removed the
Functor
constraint on most instances in exchange for incurring aMonad
constraint onTraversable
.EitherT
is after all, aMonad
transformer first and foremost.
- Changed the
Semigroup
to use aSemigroup
to combineLeft
branches. LeftAlt
untouched, so you can mix and match.
- Added instances for
mtl
classes andMonadRandom
. - The meaning of
mapEitherT
has changed to matchmapErrorT
in themtl
. The oldmapEitherT
is nowbimapEitherT
.
- Started
CHANGELOG