on test-disable-tup-instances help sign in
typeable/ether/ether.cabal
241 lines 4.8 kB history raw
1name: ether
2version: 0.5.1.0
3synopsis: Monad transformers and classes
4description:
5 Ether is a Haskell library that extends @mtl@ and @transformers@ with
6 tagged monad transformers and classes in a compatible way.
8 Introduction <https://int-index.github.io/ether/>
10category: Control
11license: BSD3
12license-file: LICENSE
13author: Vladislav Zavialov
14maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
15homepage: https://int-index.github.io/ether/
16bug-reports: https://github.com/int-index/ether/issues
17build-type: Simple
18cabal-version: >=1.18
19extra-source-files: CHANGELOG.md
21source-repository head
23 type: git
24 location: git@github.com:int-index/ether.git
27flag disable-tup-instances
29 description:
30 Disable auto-generated 'HasLens' instances for tuples. The reason one
31 might want to do this is to reduce the size of .hi-files, as well as the
32 time and memory GHC needs to build Ether. To recover flattening with
33 tuples, use 'Ether.Internal.makeTupleInstancesHasLens' at specific tuple
34 sizes you need in your application.
36 This is a build-time performance hack, enable this flag at your own risk.
38 default: False
39 manual: True
41library
43 exposed-modules:
44 Ether
45 Ether.Reader
46 Ether.State
47 Ether.Writer
48 Ether.Except
49 Ether.TaggedTrans
50 Ether.TagDispatch
51 Ether.Internal
53 other-modules:
54 Ether.Internal.Tags
55 Ether.Internal.HasLens
56 Ether.Internal.TH_Utils
57 Ether.Internal.TH_TupleInstances
58 Ether.Internal.TupleInstances
60 build-depends:
61 base >=4.9 && <4.11,
62 transformers >=0.5.2.0,
63 transformers-lift >=0.2.0.1,
64 mtl >=2.2.1,
65 mmorph >=1.0.4,
66 monad-control >=1.0.0.4,
67 transformers-base >=0.4.4,
68 writer-cps-mtl >= 0.1.1.4,
69 exceptions >=0.8,
70 template-haskell >=2.11,
71 tagged >=0.8.5,
72 reflection >=2.1
74 default-language:
75 Haskell2010
77 default-extensions:
78 AllowAmbiguousTypes
79 ConstraintKinds
80 DataKinds
81 DeriveGeneric
82 EmptyDataDecls
83 FlexibleContexts
84 FlexibleInstances
85 FunctionalDependencies
86 GADTs
87 GeneralizedNewtypeDeriving
88 PartialTypeSignatures
89 PolyKinds
90 ScopedTypeVariables
91 RankNTypes
92 TemplateHaskell
93 TupleSections
94 TypeApplications
95 TypeFamilies
96 TypeInType
97 TypeOperators
98 TypeSynonymInstances
99 UndecidableInstances
100 UndecidableSuperClasses
102 hs-source-dirs:
103 src
105 ghc-options:
106 -Wall -O2
108 if flag(disable-tup-instances)
109 cpp-options: -DDISABLE_TUP_INSTANCES
111test-suite regression
113 build-depends:
114 base >=4.9 && <4.11,
115 transformers >=0.4.2,
116 mtl >=2.2.1,
117 tasty >=0.10,
118 tasty-quickcheck >=0.8,
119 QuickCheck >=2.8,
120 ghc-prim >=0.3,
121 lens >=4.14,
122 ether
124 main-is:
125 Regression.hs
127 other-modules:
128 TupleInstances
129 Regression.T1
130 Regression.T2
131 Regression.T3
132 Regression.T4
133 Regression.T5
134 Regression.T6
135 Regression.T7
136 Regression.T8
137 Regression.T9
138 Regression.T10
139 Regression.T11
140 Regression.T12
142 type:
143 exitcode-stdio-1.0
145 hs-source-dirs:
146 test
148 default-language:
149 Haskell2010
151 default-extensions:
152 AllowAmbiguousTypes
153 ConstraintKinds
154 DataKinds
155 DeriveGeneric
156 EmptyDataDecls
157 FlexibleContexts
158 FlexibleInstances
159 FunctionalDependencies
160 GADTs
161 GeneralizedNewtypeDeriving
162 PartialTypeSignatures
163 PolyKinds
164 ScopedTypeVariables
165 RankNTypes
166 TemplateHaskell
167 TupleSections
168 TypeApplications
169 TypeFamilies
170 TypeInType
171 TypeOperators
172 TypeSynonymInstances
173 UndecidableInstances
174 UndecidableSuperClasses
176 ghc-options:
177 -Wall -fno-warn-missing-signatures
179 if flag(disable-tup-instances)
180 cpp-options: -DDISABLE_TUP_INSTANCES
183benchmark bench
185 build-depends:
186 base >=4.9 && <4.11,
187 mtl >=2.2.1,
188 transformers >=0.4.2,
189 criterion >=1.1,
190 deepseq >=1.4,
191 lens >=4.14,
192 ether
194 main-is:
195 Bench.hs
197 other-modules:
198 TupleInstances
200 type:
201 exitcode-stdio-1.0
203 hs-source-dirs:
204 bench
206 default-language:
207 Haskell2010
209 default-extensions:
210 AllowAmbiguousTypes
211 ConstraintKinds
212 DataKinds
213 DeriveGeneric
214 EmptyDataDecls
215 FlexibleContexts
216 FlexibleInstances
217 FunctionalDependencies
218 GADTs
219 GeneralizedNewtypeDeriving
220 PartialTypeSignatures
221 PolyKinds
222 ScopedTypeVariables
223 RankNTypes
224 TemplateHaskell
225 TupleSections
226 TypeApplications
227 TypeFamilies
228 TypeInType
229 TypeOperators
230 TypeSynonymInstances
231 UndecidableInstances
232 UndecidableSuperClasses
234 ghc-options:
235 -Wall -O2
237 ghc-prof-options:
238 -fprof-auto
240 if flag(disable-tup-instances)
241 cpp-options: -DDISABLE_TUP_INSTANCES