on master help sign in
typeable/ether/ether.cabal
237 lines 4.7 kB history raw
1cabal-version: 2.2
2name: ether
3version: 0.5.2.0
4synopsis: Monad transformers and classes
5description: Lib
6license: BSD-3-Clause
7-- ^ unfortunately have to change this line due to the issue with cabal2nix
8license-file: LICENSE
9category: Control
10author: Vladislav Zavialov
11maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
12homepage: https://int-index.github.io/ether/
13bug-reports: https://github.com/int-index/ether/issues
14build-type: Simple
15extra-source-files: CHANGELOG.md
17source-repository head
19 type: git
20 location: git@github.com:int-index/ether.git
23flag disable-tup-instances
25 description:
26 Disable auto-generated 'HasLens' instances for tuples. The reason one
27 might want to do this is to reduce the size of .hi-files, as well as the
28 time and memory GHC needs to build Ether. To recover flattening with
29 tuples, use 'Ether.Internal.makeTupleInstancesHasLens' at specific tuple
30 sizes you need in your application.
32 This is a build-time performance hack, enable this flag at your own risk.
34 default: False
35 manual: True
37library
39 exposed-modules:
40 Ether
41 Ether.Reader
42 Ether.State
43 Ether.Writer
44 Ether.Except
45 Ether.TaggedTrans
46 Ether.TagDispatch
47 Ether.Internal
49 other-modules:
50 Ether.Internal.Tags
51 Ether.Internal.HasLens
52 Ether.Internal.TH_Utils
53 Ether.Internal.TH_TupleInstances
54 Ether.Internal.TupleInstances
56 build-depends:
57 base >=4.9 && <4.13,
58 transformers >=0.5.2.0,
59 transformers-lift >=0.2.0.1,
60 mtl >=2.2.2,
61 mmorph >=1.0.4,
62 monad-control >=1.0.0.4,
63 transformers-base >=0.4.4,
64 writer-cps-mtl >= 0.1.1.4,
65 exceptions >=0.8,
66 template-haskell >=2.11,
67 tagged >=0.8.5,
68 reflection >=2.1
70 default-language:
71 Haskell2010
73 default-extensions:
74 AllowAmbiguousTypes
75 ConstraintKinds
76 DataKinds
77 DeriveGeneric
78 EmptyDataDecls
79 FlexibleContexts
80 FlexibleInstances
81 FunctionalDependencies
82 GADTs
83 GeneralizedNewtypeDeriving
84 PartialTypeSignatures
85 PolyKinds
86 ScopedTypeVariables
87 RankNTypes
88 TemplateHaskell
89 TupleSections
90 TypeApplications
91 TypeFamilies
92 TypeInType
93 TypeOperators
94 TypeSynonymInstances
95 UndecidableInstances
96 UndecidableSuperClasses
98 hs-source-dirs:
99 src
101 ghc-options:
102 -Wall -O2
104 if flag(disable-tup-instances)
105 cpp-options: -DDISABLE_TUP_INSTANCES
107test-suite regression
109 build-depends:
110 base >=4.9 && <4.13,
111 transformers >=0.4.2,
112 mtl >=2.2.1,
113 tasty >=0.10,
114 tasty-quickcheck >=0.8,
115 QuickCheck >=2.8,
116 ghc-prim >=0.3,
117 lens >=4.14,
118 ether
120 main-is:
121 Regression.hs
123 other-modules:
124 TupleInstances
125 Regression.T1
126 Regression.T2
127 Regression.T3
128 Regression.T4
129 Regression.T5
130 Regression.T6
131 Regression.T7
132 Regression.T8
133 Regression.T9
134 Regression.T10
135 Regression.T11
136 Regression.T12
138 type:
139 exitcode-stdio-1.0
141 hs-source-dirs:
142 test
144 default-language:
145 Haskell2010
147 default-extensions:
148 AllowAmbiguousTypes
149 ConstraintKinds
150 DataKinds
151 DeriveGeneric
152 EmptyDataDecls
153 FlexibleContexts
154 FlexibleInstances
155 FunctionalDependencies
156 GADTs
157 GeneralizedNewtypeDeriving
158 PartialTypeSignatures
159 PolyKinds
160 ScopedTypeVariables
161 RankNTypes
162 TemplateHaskell
163 TupleSections
164 TypeApplications
165 TypeFamilies
166 TypeInType
167 TypeOperators
168 TypeSynonymInstances
169 UndecidableInstances
170 UndecidableSuperClasses
172 ghc-options:
173 -Wall -fno-warn-missing-signatures
175 if flag(disable-tup-instances)
176 cpp-options: -DDISABLE_TUP_INSTANCES
179benchmark bench
181 build-depends:
182 base >=4.9 && <4.13,
183 mtl >=2.2.1,
184 transformers >=0.4.2,
185 criterion >=1.1,
186 deepseq >=1.4,
187 lens >=4.14,
188 ether
190 main-is:
191 Bench.hs
193 other-modules:
194 TupleInstances
196 type:
197 exitcode-stdio-1.0
199 hs-source-dirs:
200 bench
202 default-language:
203 Haskell2010
205 default-extensions:
206 AllowAmbiguousTypes
207 ConstraintKinds
208 DataKinds
209 DeriveGeneric
210 EmptyDataDecls
211 FlexibleContexts
212 FlexibleInstances
213 FunctionalDependencies
214 GADTs
215 GeneralizedNewtypeDeriving
216 PartialTypeSignatures
217 PolyKinds
218 ScopedTypeVariables
219 RankNTypes
220 TemplateHaskell
221 TupleSections
222 TypeApplications
223 TypeFamilies
224 TypeInType
225 TypeOperators
226 TypeSynonymInstances
227 UndecidableInstances
228 UndecidableSuperClasses
230 ghc-options:
231 -Wall -O2
233 ghc-prof-options:
234 -fprof-auto
236 if flag(disable-tup-instances)
237 cpp-options: -DDISABLE_TUP_INSTANCES