@@ -24,6 +24,20 @@ source-repository head
2424 location: git@github.com:int-index/ether.git
2525
2626
27+flag disable-tup-instances
28+
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.
35+
36+ This is a build-time performance hack, enable this flag at your own risk.
37+
38+ default: False
39+ manual: True
40+
2741library
2842
2943 exposed-modules:
@@ -41,18 +55,7 @@ library
4155 Ether.Internal.HasLens
4256 Ether.Internal.TH_Utils
4357 Ether.Internal.TH_TupleInstances
44− Ether.Internal.TupleInstances_TagsK
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
58+ Ether.Internal.TupleInstances
5659
5760 build-depends:
5861 base >=4.9 && <4.11,
@@ -102,6 +105,9 @@ library
102105 ghc-options:
103106 -Wall -O2
104107
108+ if flag(disable-tup-instances)
109+ cpp-options: -DDISABLE_TUP_INSTANCES
110+
105111test-suite regression
106112
107113 build-depends: