-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextensible-data.cabal
130 lines (108 loc) · 2.92 KB
/
extensible-data.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
cabal-version: 2.2
name: extensible-data
version: 0.1.0
category: Data
synopsis: Generate the boilerplate for the Trees That Grow pattern
-- description: TODO
license: GPL-3.0-or-later
author: Andy Morris <andy@cryptium.ch>
maintainer: Andy Morris <andy@cryptium.ch>
homepage: https://metastatedev.github.io/extensible-data
bug-reports: https://github.com/metastatedev/extensible-data/issues
source-repository head
type: git
location: git://github.com/metastatedev/extensible-data.git
flag build-examples
description:
Whether to build the examples (off by default so they don't get
accidentally installed)
default: False
manual: True
flag dump-splices
description: Show the results of splices in the examples
default: False
manual: True
common deps
default-language: Haskell2010
build-depends:
base >= 4.12.0.0 && < 4.15,
syb ^>= 0.7.1,
template-haskell >= 2.14.0.0 && < 2.17
ghc-options:
-Wall
common example
build-depends: extensible-data
default-extensions:
TemplateHaskell, TypeFamilies, PatternSynonyms, ConstraintKinds,
StandaloneDeriving, FlexibleContexts, UndecidableInstances
ghc-options:
-Wno-unused-top-binds
-Wno-missing-pattern-synonym-signatures
-Wno-unused-imports
if flag(dump-splices)
ghc-options: -ddump-splices -fforce-recomp
if !flag(build-examples)
buildable: False
library
import: deps
hs-source-dirs: src
exposed-modules:
Extensible
executable basic
import: deps, example
hs-source-dirs: examples/basic
main-is: Basic.hs
other-modules: BasicBase
executable mutual
import: deps, example
hs-source-dirs: examples/mutual
main-is: Mutual.hs
other-modules: MutualBase
executable qualified
import: deps, example
hs-source-dirs: examples/qualified
main-is: Qualified.hs
other-modules: QualifiedBase
executable param
import: deps, example
hs-source-dirs: examples/param
main-is: Param.hs
other-modules: ParamBase
executable deriv
import: deps, example
hs-source-dirs: examples/deriv
main-is: Deriv.hs
other-modules: DerivBase
executable record
import: deps, example
hs-source-dirs: examples/record
main-is: Record.hs
other-modules: RecordBase
executable multifield
import: deps, example
hs-source-dirs: examples/multifield
main-is: MultiField.hs
other-modules: MultiFieldBase
executable generic
import: deps, example
hs-source-dirs: examples/generic
main-is: Generic.hs
executable reused-name
import: deps, example
hs-source-dirs: examples/reused-name
main-is: ReusedName.hs
other-modules: ReusedNameBase
executable type-synonym
import: deps, example
hs-source-dirs: examples/type-synonym
main-is: TypeSynonym.hs
other-modules: TypeSynonymBase
executable contexts
import: deps, example
hs-source-dirs: examples/contexts
main-is: Contexts.hs
executable lam
import: deps, example
hs-source-dirs: examples/lam
main-is: Lam.hs
other-modules: LamBase, Typed, DeBruijn