@@ -24,6 +24,20 @@ source-repository head
24 location: git@github.com:int-index/ether.git
24 location: git@github.com:int-index/ether.git
27+flag disable-tup-instances
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.
29 exposed-modules:
43 exposed-modules:
@@ -41,18 +55,7 @@ library
41 Ether.Internal.HasLens
55 Ether.Internal.HasLens
42 Ether.Internal.TH_Utils
56 Ether.Internal.TH_Utils
43 Ether.Internal.TH_TupleInstances
57 Ether.Internal.TH_TupleInstances
44− Ether.Internal.TupleInstances_TagsK
58+ 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:
60 build-depends:
58 base >=4.9 && <4.11,
61 base >=4.9 && <4.11,
@@ -102,6 +105,9 @@ library
102 ghc-options:
105 ghc-options:
103 -Wall -O2
106 -Wall -O2
108+ if flag(disable-tup-instances)
109+ cpp-options: -DDISABLE_TUP_INSTANCES
105test-suite regression
111test-suite regression
107 build-depends:
113 build-depends: