Changelog for free-5.0.2
5.0.1 [2018.03.07]
- Fix the build on old GHCs with
transformers-0.4.
5 [2018.01.28]
-
Add a
Semigroupinstance forIterT. -
Add
MonadFailinstances forIterTandFreeT. -
Add a
Comonadinstance for the freeApplicative,Ap. -
Add
Control.Monad.Free.ApandControl.Monad.Trans.Free.Apmodules, based on the "Applicative Effects in Free Monads" series of articles by Will Fancher. -
Derive
Datainstances forFreeandCofree. -
Control.Monad.Free.THnow properly supportstemplate-haskell-2.11.0.0. In particular, it now supportsGadtCandRecGadtC, which are newtemplate-haskellforms for representing GADTs. -
Add
telescoped_,shoots, andleavestoControl.Comonad.Cofree -
Add the
Control.Applicative.Free.Fastmodule, based on Dave Menendez's article "Free Applicative Functors in Haskell" -
Add
foldFreeTtoControl.Monad.Trans.Free -
Improve the
foldMapandcutofffunctions forControl.Monad.Free.Church.F, and add aTraversable -
Add a
MonadBaseinstance forFreeT -
Add a performance test comparing Free and Church interpreters
-
The use of
prelude-extrashas been removed.freenow uses theData.Functor.Classesmodule to givefree's datatypes instances ofEq1,Ord1,Read1, andShow1. TheirEq,Ord,Read, andShowinstances have also been modified to incorporate these classes. For example, what previously existed as:instance (Eq (f (Free f a)), Eq a) => Eq (Free f a) wherehas now been changed to:
instance (Eq1 f, Eq a) => Eq (Free f a) where -
Remove redundant
Functorconstraints fromControl.Alternative.Free
4.12.4
- Removed a number of spurious class constraints.
- Support GHC 8
4.12.3
- Support
comonad5
4.12.2
- Add instances for
ExceptT: likeErrorT, but without anErrorconstraint. - Support
containers - Support
transformers0.5
4.12.1
- Support GHC 7.4
4.12
- Add instances of
MonadCatchandMonadThrowfromexceptionstoFT,FreeTandIterT. semigroupoids5,profunctors5, andbifunctors5 support.
4.11
- Pass Monad[FreeT].fail into underlying monad
- Add
retractT. - Added
cutofffor the church encoded free monad. cutoffnow accepts negative numbers.- Added
intersperseTandintercalateT. - Added
foldFreeandfoldF. - Added some new
template-haskelltoys.
4.10.0.1
- Fix for very old
cabalversions where theMIN_VERSION_foomacros aren't negation friendly.
4.10
- Redefine
AlternativeandMonadPlusinstances ofIterTso that they apply to any underlyingMonad.mplusor<|>is Capretta'sracecombinator;mzerooremptyis a non-terminating computation. - Redefine
fail sforIterTasmzero, for any strings. - Added
Control.Monad.Trans.Iter.untilJust, which repeatedly retries am (Maybe a)computation until it producesJusta value. - Fix things so that we can build with GHC 7.10, which also uses the name
AltinData.Monoid, and which exportsMonoidfromPrelude.
4.9
- Remove
eithersupport. Why? It dragged in a large number of dependencies we otherwise don't support, and so is probably best inverted.
4.8.0.1
- Allow complation with older versions of
base. (Foldable didn't add foldl' until base 4.6)
4.8
- Added a
MonadFreeinstance forEitherT(frrom theeitherpackage). - Support for
transformers0.4
4.7.1
- Added more versions of
cutoff.
4.7
- Added
prelude-extrassupport. This makes it possible to work withoutUndecidableInstancesfor most operations. - Removed the
GHC_TYPEABLEflag.
4.6.1
- Added
hoistF
4.6
- Víctor López Juan and Fabian Ruch added many documentation improvements and a whole host of proofs of correctness.
- Improvements in the template haskell code generator.
- Added instances for
MonadWriterandMonadContwhere appropriate, thanks to Nickolay Kudasov. - Added
cutoff,iterTM, andnever. - Made modifications to some
TypeableandDatainstances to work correctly on both GHC 7.8.1rc1 and 7.8.1rc2. - Removed
Control.MonadPlus.Free. UseFreeT f []instead and the result will be law-abiding. - Replaced
Control.Alternative.Freewith a new approach that is law-abiding for left-distributive Alternatives.
4.5
- Added
Control.Monad.Free.THwithmakeFreeto make it easier to write free monads. - Added missing instances for
MonadFixandMonadContwhere appropriate.
4.2
- Added
Control.Monad.Trans.IterandControl.Comonad.Trans.Coiter.
4.1.1
- Added a default signature to
wrap, based on a construction by @fizruk.
4.0
- Updated to work with
semigroupoidsandcomonad4.0 instance ComonadCofree Maybe NonEmptyinstance ComonadCofree (Const b) ((,) b)
3.4.2
- Generalized
liftF. - Added
iterM
3.4.1
- Added support for GHC 7.7's polykinded
Typeable
3.4
- Added instance
MonadFree f (ContT r m)
3.3.1
- Refactored build system
- Removed upper bounds on my own intra-package dependencies
3.3
- Added
Control.Alternative.FreeandControl.MonadPlus.Free
3.2
- Added
Control.Free.Applicative - Moved
Control.Monad.Free.Churchfromkan-extensionsinto this package.