packages feed

free-4.7: free.cabal

name:          free
category:      Control, Monads
version:       4.7
license:       BSD3
cabal-version: >= 1.10
license-file:  LICENSE
author:        Edward A. Kmett
maintainer:    Edward A. Kmett <ekmett@gmail.com>
stability:     provisional
homepage:      http://github.com/ekmett/free/
bug-reports:   http://github.com/ekmett/free/issues
copyright:     Copyright (C) 2008-2013 Edward A. Kmett
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:
  <http://comonad.com/reader/2008/monads-for-free/>
  <http://comonad.com/reader/2011/free-monads-for-less/>

build-type:    Simple
extra-source-files:
  .ghci
  .gitignore
  .travis.yml
  .vim.custom
  README.markdown
  CHANGELOG.markdown
  HLint.hs
  doc/proof/Control/Comonad/Cofree/*.md
  doc/proof/Control/Comonad/Trans/Cofree/*.md

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,
    prelude-extras       >= 0.4 && < 1,
    profunctors          == 4.*,
    semigroupoids        == 4.*,
    semigroups           >= 0.8.3.1 && < 1,
    transformers         >= 0.2.0   && < 0.4,
    template-haskell     >= 2.7.0.0 && < 3

  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.Free.TH
    Control.Monad.Trans.Free
    Control.Monad.Trans.Free.Church
    Control.Monad.Trans.Iter

  ghc-options: -Wall