Conditionally expose Data.Functor.* modules
[darcs-mirrors/transformers.git] / transformers.cabal
1 name:         transformers
2 version:      0.5.0.0
3 license:      BSD3
4 license-file: LICENSE
5 author:       Andy Gill, Ross Paterson
6 maintainer:   Ross Paterson <R.Paterson@city.ac.uk>
7 bug-reports:  http://hub.darcs.net/ross/transformers/issues
8 category:     Control
9 synopsis:     Concrete functor and monad transformers
10 description:
11     A portable library of functor and monad transformers, inspired by
12     the paper \"Functional Programming with Overloading and Higher-Order
13     Polymorphism\", by Mark P Jones,
14     in /Advanced School of Functional Programming/, 1995
15     (<http://web.cecs.pdx.edu/~mpj/pubs/springschool.html>).
16     .
17     This package contains:
18     .
19     * the monad transformer class (in "Control.Monad.Trans.Class")
20       and IO monad class (in "Control.Monad.IO.Class")
21     .
22     * concrete functor and monad transformers, each with associated
23       operations and functions to lift operations associated with other
24       transformers.
25     .
26     The package can be used on its own in portable Haskell code, in
27     which case operations need to be manually lifted through transformer
28     stacks (see "Control.Monad.Trans.Class" for some examples).
29     Alternatively, it can be used with the non-portable monad classes in
30     the @mtl@ or @monads-tf@ packages, which automatically lift operations
31     introduced by monad transformers through other transformers.
32 build-type: Simple
33 extra-source-files:
34     changelog
35 cabal-version: >= 1.6
36
37 source-repository head
38   type: darcs
39   location: http://hub.darcs.net/ross/transformers
40
41 library
42   build-depends: base >= 2 && < 6
43   hs-source-dirs: .
44   if !impl(ghc>=7.9)
45     -- Data.Functor.Identity was moved into base-4.8.0.0 (GHC 7.10)
46     -- see also https://ghc.haskell.org/trac/ghc/ticket/9664
47     -- NB: using impl(ghc>=7.9) instead of fragile Cabal flags
48     hs-source-dirs: legacy/pre709
49     exposed-modules: Data.Functor.Identity
50   if !impl(ghc>=7.11)
51     -- Control.Monad.IO.Class was moved into base-4.9.0.0 (GHC 8.0)
52     -- see also https://ghc.haskell.org/trac/ghc/ticket/10773
53     hs-source-dirs: legacy/pre711
54     exposed-modules: Control.Monad.IO.Class
55     -- Much of the Data.Functor.* hierarchy was also moved into
56     -- base-4.9.0.0 (GHC 8.0) as well
57     -- see also https://ghc.haskell.org/trac/ghc/ticket/11135
58     exposed-modules:
59       Data.Functor.Classes
60       Data.Functor.Compose
61       Data.Functor.Product
62       Data.Functor.Sum
63   if impl(ghc>=7.2 && <7.5)
64     -- Prior to GHC 7.5, GHC.Generics lived in ghc-prim
65     build-depends: ghc-prim
66   exposed-modules:
67     Control.Applicative.Backwards
68     Control.Applicative.Lift
69     Control.Monad.Signatures
70     Control.Monad.Trans.Class
71     Control.Monad.Trans.Cont
72     Control.Monad.Trans.Except
73     Control.Monad.Trans.Error
74     Control.Monad.Trans.Identity
75     Control.Monad.Trans.List
76     Control.Monad.Trans.Maybe
77     Control.Monad.Trans.Reader
78     Control.Monad.Trans.RWS
79     Control.Monad.Trans.RWS.Lazy
80     Control.Monad.Trans.RWS.Strict
81     Control.Monad.Trans.State
82     Control.Monad.Trans.State.Lazy
83     Control.Monad.Trans.State.Strict
84     Control.Monad.Trans.Writer
85     Control.Monad.Trans.Writer.Lazy
86     Control.Monad.Trans.Writer.Strict
87     Data.Functor.Constant
88     Data.Functor.Reverse