name: free category: Control, Monads version: 3.2 x-revision: 1 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: .travis.yml 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 && < 4.7, bifunctors == 3.0.*, distributive >= 0.2.1 && < 0.3, transformers >= 0.2.0 && < 0.4, mtl >= 2.0.1.0 && < 2.2, semigroupoids == 3.0.*, comonad == 3.0.*, comonad-transformers == 3.0.*, comonads-fd == 3.0.*, semigroups >= 0.8.3.1 && < 0.9 if impl(ghc) cpp-options: -DGHC_TYPEABLE exposed-modules: Control.Applicative.Free Control.Monad.Free Control.Monad.Free.Church Control.Monad.Free.Class Control.Monad.Trans.Free Control.Comonad.Cofree Control.Comonad.Cofree.Class Control.Comonad.Trans.Cofree ghc-options: -Wall