name: free version: 5.1 id: free-5.1-DoPMLe6y3QF1n3oFXCkA0Z key: free-5.1-DoPMLe6y3QF1n3oFXCkA0Z license: BSD-3-Clause copyright: Copyright (C) 2008-2015 Edward A. Kmett maintainer: Edward A. Kmett author: Edward A. Kmett stability: provisional homepage: http://github.com/ekmett/free/ synopsis: Monads for free description: Free monads are useful for many tree-like structures and domain specific languages. . If @f@ is a 'Functor' then the free 'Monad' on @f@ is the type of trees whose nodes are labeled with the constructors of @f@. The word \"free\" is used in the sense of \"unrestricted\" rather than \"zero-cost\": @Free f@ makes no constraining assumptions beyond those given by @f@ and the definition of 'Monad'. As used here it is a standard term from the mathematical theory of adjoint functors. . Cofree comonads are dual to free monads. They provide convenient ways to talk about branching streams and rose-trees, and can be used to annotate syntax trees. The cofree comonad can be seen as a stream parameterized by a 'Functor' that controls its branching factor. . More information on free monads, including examples, can be found in the following blog posts: category: Control, Monads abi: d2b34d5ba907b11aecbb9888472faa57 exposed: True exposed-modules: Control.Alternative.Free Control.Alternative.Free.Final Control.Applicative.Free Control.Applicative.Free.Fast Control.Applicative.Free.Final Control.Applicative.Trans.Free Control.Comonad.Cofree Control.Comonad.Cofree.Class Control.Comonad.Trans.Cofree Control.Comonad.Trans.Coiter Control.Monad.Free Control.Monad.Free.Ap Control.Monad.Free.Church Control.Monad.Free.Class Control.Monad.Free.TH Control.Monad.Trans.Free Control.Monad.Trans.Free.Ap Control.Monad.Trans.Free.Church Control.Monad.Trans.Iter hidden-modules: Data.Functor.Classes.Compat import-dirs: /var/lib/jenkins/workspace/JHCR/.cabal-sandbox/lib/x86_64-linux-ghc-8.6.3/free-5.1-DoPMLe6y3QF1n3oFXCkA0Z library-dirs: /var/lib/jenkins/workspace/JHCR/.cabal-sandbox/lib/x86_64-linux-ghc-8.6.3/free-5.1-DoPMLe6y3QF1n3oFXCkA0Z dynamic-library-dirs: /var/lib/jenkins/workspace/JHCR/.cabal-sandbox/lib/x86_64-linux-ghc-8.6.3 data-dir: /var/lib/jenkins/workspace/JHCR/.cabal-sandbox/share/x86_64-linux-ghc-8.6.3/free-5.1 hs-libraries: HSfree-5.1-DoPMLe6y3QF1n3oFXCkA0Z includes: free-common.h depends: base-4.12.0.0 comonad-5.0.4-2EQIiLfvxxtIIllz8gbEQo containers-0.6.0.1 distributive-0.6-8EpfN2RsUZm8inygL04Eq7 exceptions-0.10.1-DdWfqA1lutT4wybeL2xRnx mtl-2.2.2 profunctors-5.3-HontJ8S7sNw4ZYeZaPLNNK semigroupoids-5.3.2-7SYmTspzpbUFHQFapWvcfu template-haskell-2.14.0.0 transformers-0.5.5.0 transformers-base-0.4.5.2-EuZzsSlzUfCIeg4YlOqmTn haddock-interfaces: /var/lib/jenkins/workspace/JHCR/.cabal-sandbox/share/doc/x86_64-linux-ghc-8.6.3/free-5.1/html/free.haddock haddock-html: /var/lib/jenkins/workspace/JHCR/.cabal-sandbox/share/doc/x86_64-linux-ghc-8.6.3/free-5.1/html