BSD-3-Clause licensed by Edward A. Kmett
This version can be pinned in stack with:free-4.9@sha256:0d84ce7df80001b5855a5362ddb4c22b035eebec587f74d030f33bc71ab4a29f,3080
Module documentation for 4.9
- Control
- Control.Alternative
- Control.Applicative
- Control.Applicative.Free
- Control.Applicative.Trans
- Control.Applicative.Trans.Free
- Control.Comonad
- Control.Comonad.Cofree
- Control.Comonad.Cofree.Class
- Control.Comonad.Trans
- Control.Comonad.Trans.Cofree
- Control.Comonad.Trans.Coiter
- Control.Monad
- Control.Monad.Free
- Control.Monad.Free.Church
- Control.Monad.Free.Class
- Control.Monad.Free.TH
- Control.Monad.Trans
- Control.Monad.Trans.Free
- Control.Monad.Trans.Free.Church
- Control.Monad.Trans.Iter
Depends on 11 packages
(full list with versions):
base,
bifunctors,
comonad,
distributive,
mtl,
prelude-extras,
profunctors,
semigroupoids,
semigroups,
template-haskell,
transformers free

This package provides a common definitions for working with free monads, free applicatives, and cofree comonads in Haskell.
Contact Information
Contributions and bug reports are welcome!
Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
-Edward Kmett
4.9
- Remove
either
support. 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
MonadFree
instance for EitherT
(frrom the either
package).
- Support for
transformers
0.4
4.7.1
- Added more versions of
cutoff
.
4.7
- Added
prelude-extras
support. This makes it possible to work without UndecidableInstances
for most operations.
- Removed the
GHC_TYPEABLE
flag.
4.6.1
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
MonadWriter
and MonadCont
where appropriate, thanks to Nickolay Kudasov.
- Added
cutoff
, iterTM
, and never
.
- Made modifications to some
Typeable
and Data
instances to work correctly on both GHC 7.8.1rc1 and 7.8.1rc2.
- Removed
Control.MonadPlus.Free
. Use FreeT f []
instead and the result will be law-abiding.
- Replaced
Control.Alternative.Free
with a new approach that is law-abiding for left-distributive Alternatives.
4.5
- Added
Control.Monad.Free.TH
with makeFree
to make it easier to write free monads.
- Added missing instances for
MonadFix
and MonadCont
where appropriate.
4.2
- Added
Control.Monad.Trans.Iter
and Control.Comonad.Trans.Coiter
.
4.1.1
- Added a default signature to
wrap
, based on a construction by @fizruk.
4.0
- Updated to work with
semigroupoids
and comonad
4.0
instance ComonadCofree Maybe NonEmpty
instance 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.Free
and Control.MonadPlus.Free
3.2
- Added
Control.Free.Applicative
- Moved
Control.Monad.Free.Church
from kan-extensions
into this package.