@@ -1,21 +1,17 @@
2−version: 0.5.0.0
3+version: 0.5.2.0
3synopsis: Monad transformers and classes
4synopsis: Monad transformers and classes
4−description:
5+description: Lib
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/>
11−license: BSD3
6+license: BSD-3-Clause
7+-- ^ unfortunately have to change this line due to the issue with cabal2nix
12license-file: LICENSE
8license-file: LICENSE
13author: Vladislav Zavialov
10author: Vladislav Zavialov
14maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
11maintainer: Vladislav Zavialov <vlad.z.4096@gmail.com>
15homepage: https://int-index.github.io/ether/
12homepage: https://int-index.github.io/ether/
16bug-reports: https://github.com/int-index/ether/issues
13bug-reports: https://github.com/int-index/ether/issues
17build-type: Simple
14build-type: Simple
19extra-source-files: CHANGELOG.md
15extra-source-files: CHANGELOG.md
21source-repository head
17source-repository head
@@ -24,6 +20,20 @@ source-repository head
24 location: git@github.com:int-index/ether.git
20 location: git@github.com:int-index/ether.git
23+flag disable-tup-instances
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.
29 exposed-modules:
39 exposed-modules:
@@ -41,24 +51,13 @@ library
41 Ether.Internal.HasLens
51 Ether.Internal.HasLens
42 Ether.Internal.TH_Utils
52 Ether.Internal.TH_Utils
43 Ether.Internal.TH_TupleInstances
53 Ether.Internal.TH_TupleInstances
44− Ether.Internal.TupleInstances_TagsK
54+ Ether.Internal.TupleInstances
45− Ether.Internal.TupleInstances_Tags
46− Ether.Internal.TupleInstances_HasLens
47− Ether.Internal.TupleInstances_HasLens_1
48− Ether.Internal.TupleInstances_HasLens_2
49− Ether.Internal.TupleInstances_HasLens_3
50− Ether.Internal.TupleInstances_HasLens_4
51− Ether.Internal.TupleInstances_HasLens_5
52− Ether.Internal.TupleInstances_HasLens_6
53− Ether.Internal.TupleInstances_HasLens_7
54− Ether.Internal.TupleInstances_HasLens_8
55− Ether.Internal.TupleInstances_HasLens_9
57 build-depends:
56 build-depends:
58− base >=4.9 && <4.11,
57+ base >=4.9 && <4.13,
59 transformers >=0.5.2.0,
58 transformers >=0.5.2.0,
60 transformers-lift >=0.2.0.1,
59 transformers-lift >=0.2.0.1,
61− mtl >=2.2.1,
60+ mtl >=2.2.2,
62 mmorph >=1.0.4,
61 mmorph >=1.0.4,
63 monad-control >=1.0.0.4,
62 monad-control >=1.0.0.4,
64 transformers-base >=0.4.4,
63 transformers-base >=0.4.4,
@@ -102,10 +101,13 @@ library
102 ghc-options:
101 ghc-options:
103 -Wall -O2
102 -Wall -O2
104+ if flag(disable-tup-instances)
105+ cpp-options: -DDISABLE_TUP_INSTANCES
105test-suite regression
107test-suite regression
107 build-depends:
109 build-depends:
108− base >=4.9 && <4.11,
110+ base >=4.9 && <4.13,
109 transformers >=0.4.2,
111 transformers >=0.4.2,
110 mtl >=2.2.1,
112 mtl >=2.2.1,
111 tasty >=0.10,
113 tasty >=0.10,
@@ -119,6 +121,7 @@ test-suite regression
119 Regression.hs
121 Regression.hs
121 other-modules:
123 other-modules:
122 Regression.T1
125 Regression.T1
123 Regression.T2
126 Regression.T2
124 Regression.T3
127 Regression.T3
@@ -169,11 +172,14 @@ test-suite regression
169 ghc-options:
172 ghc-options:
170 -Wall -fno-warn-missing-signatures
173 -Wall -fno-warn-missing-signatures
175+ if flag(disable-tup-instances)
176+ cpp-options: -DDISABLE_TUP_INSTANCES
173benchmark bench
179benchmark bench
175 build-depends:
181 build-depends:
176− base >=4.9 && <4.11,
182+ base >=4.9 && <4.13,
177 mtl >=2.2.1,
183 mtl >=2.2.1,
178 transformers >=0.4.2,
184 transformers >=0.4.2,
179 criterion >=1.1,
185 criterion >=1.1,
@@ -184,6 +190,9 @@ benchmark bench
188 exitcode-stdio-1.0
197 exitcode-stdio-1.0
@@ -223,3 +232,6 @@ benchmark bench
224 ghc-prof-options:
233 ghc-prof-options:
225 -fprof-auto
234 -fprof-auto
236+ if flag(disable-tup-instances)
237+ cpp-options: -DDISABLE_TUP_INSTANCES