BSD-3-Clause licensed by Edward A. Kmett
Maintained by Edward A. Kmett

Module documentation for 4.9

This version can be pinned in stack with:[email protected]:0d84ce7df80001b5855a5362ddb4c22b035eebec587f74d030f33bc71ab4a29f,3080
  • Control
    • Control.Alternative
      • Control.Alternative.Free
    • 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

free

Build Status

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

Changes

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

  • 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 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.