packages feed

free-3.1.1: free.cabal

name:          free
category:      Control, Monads
version:       3.1.1
license:       BSD3
cabal-version: >= 1.6
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-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

  other-extensions:
    MultiParamTypeClasses
    FunctionalDependencies
    FlexibleInstances
    UndecidableInstances

  build-depends:
    base                 >= 4       && < 5,
    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

  extensions: CPP

  exposed-modules:
    Control.Monad.Free
    Control.Monad.Free.Class
    Control.Monad.Trans.Free
    Control.Comonad.Cofree
    Control.Comonad.Cofree.Class
    Control.Comonad.Trans.Cofree

  ghc-options:      -Wall