name: free category: Control, Monads version: 4.2 license: BSD3 cabal-version: >= 1.10 license-file: LICENSE author: Edward A. Kmett maintainer: Edward A. Kmett stability: provisional homepage: http://github.com/ekmett/free/ bug-reports: http://github.com/ekmett/free/issues copyright: Copyright (C) 2008-2012 Edward A. Kmett synopsis: Monads for free description: Free monads are useful for many tree-like structures and domain specific languages. . A 'Monad' @n@ is a free 'Monad' for @f@ if every 'Monad' homomorphism from @n@ to another monad @m@ is equivalent to a natural transformation from @f@ to @m@. . Cofree comonads provide convenient ways to talk about branching streams and rose-trees, and can be used to annotate syntax trees. . A 'Comonad' @v@ is a cofree 'Comonad' for @f@ if every 'Comonad' homomorphism another comonad @w@ to @v@ is equivalent to a natural transformation from @w@ to @f@. build-type: Simple extra-source-files: .ghci .gitignore .travis.yml .vim.custom README.markdown CHANGELOG.markdown source-repository head type: git location: git://github.com/ekmett/free.git library hs-source-dirs: src default-language: Haskell2010 default-extensions: CPP other-extensions: MultiParamTypeClasses FunctionalDependencies FlexibleInstances UndecidableInstances Rank2Types GADTs build-depends: base == 4.*, bifunctors == 4.*, comonad == 4.*, distributive >= 0.2.1, mtl >= 2.0.1.0 && < 2.2, profunctors == 4.*, semigroupoids == 4.*, semigroups >= 0.8.3.1 && < 1, transformers >= 0.2.0 && < 0.4 if impl(ghc) cpp-options: -DGHC_TYPEABLE exposed-modules: Control.Applicative.Free Control.Alternative.Free Control.Comonad.Cofree Control.Comonad.Cofree.Class Control.Comonad.Trans.Cofree Control.Comonad.Trans.Coiter Control.Monad.Free Control.Monad.Free.Church Control.Monad.Free.Class Control.Monad.Trans.Free Control.Monad.Trans.Iter Control.MonadPlus.Free ghc-options: -Wall