Optimised day 19
[advent-of-code-22.git] / advent-of-code22.cabal
1 cabal-version: 3.6
2 name: advent-of-code22
3 version: 0.1.0.0
4
5 -- A short (one-line) description of the package.
6 synopsis: Solutions for the Advent of Code 2022
7
8 -- A longer description of the package.
9 -- description:
10
11 -- A URL where users can report bugs.
12 -- bug-reports:
13
14 -- The license under which the package is released.
15 -- license:
16 author: Neil Smith
17 maintainer: NeilNjae@users.noreply.github.com
18
19 -- A copyright notice.
20 -- copyright:
21 -- category:
22 extra-source-files:
23 CHANGELOG.md
24 README.md
25
26 common common-extensions
27 default-extensions: AllowAmbiguousTypes
28 , ApplicativeDo
29 , BangPatterns
30 , BlockArguments
31 , DataKinds
32 , DeriveFoldable
33 , DeriveFunctor
34 , DeriveGeneric
35 , DeriveTraversable
36 -- , DuplicateRecordFields
37 , EmptyCase
38 , FlexibleContexts
39 , FlexibleInstances
40 , FunctionalDependencies
41 , GADTs
42 , GeneralizedNewtypeDeriving
43 , ImplicitParams
44 , KindSignatures
45 , LambdaCase
46 , MonadComprehensions
47 , MonoLocalBinds
48 , MultiParamTypeClasses
49 , MultiWayIf
50 , NamedFieldPuns
51 , NegativeLiterals
52 , NumDecimals
53 -- , NoFieldSelectors
54 -- , OverloadedLists
55 -- , OverloadedRecordDot
56 , OverloadedStrings
57 , PartialTypeSignatures
58 , PatternGuards
59 , PatternSynonyms
60 , PolyKinds
61 , RankNTypes
62 , RecordWildCards
63 , ScopedTypeVariables
64 , TemplateHaskell
65 -- , TransformListComp
66 , TupleSections
67 , TypeApplications
68 , TypeFamilies
69 , TypeInType
70 , TypeOperators
71 , ViewPatterns
72
73 common build-directives
74 build-depends: base >=4.16
75 default-language: Haskell2010
76 hs-source-dirs: ., app, src
77 other-modules: AoC
78 ghc-options: -O2
79 -Wall
80 -threaded
81 -rtsopts "-with-rtsopts=-N"
82
83 executable advent-of-code22
84 main-is: Main.hs
85
86 -- Modules included in this executable, other than Main.
87 -- other-modules:
88
89 -- LANGUAGE extensions used by modules in this package.
90 -- other-extensions:
91 build-depends: base ^>=4.16.4.0
92 hs-source-dirs: app, src
93 default-language: Haskell2010
94
95 library
96 import: common-extensions
97 build-depends: base >=4.16
98 hs-source-dirs: ., app, src
99 exposed-modules: AoC
100
101 executable advent01
102 import: common-extensions, build-directives
103 main-is: advent01/Main.hs
104 build-depends: split
105
106 executable advent02
107 import: common-extensions, build-directives
108 main-is: advent02/Main.hs
109 build-depends: text, attoparsec
110
111 executable advent03
112 import: common-extensions, build-directives
113 main-is: advent03/Main.hs
114 build-depends: containers, split
115
116 executable advent04
117 import: common-extensions, build-directives
118 main-is: advent04/Main.hs
119 build-depends: text, attoparsec
120
121 executable advent04i
122 import: common-extensions, build-directives
123 main-is: advent04/Main-interval.hs
124 build-depends: text, attoparsec, intervals
125
126 executable advent05
127 import: common-extensions, build-directives
128 main-is: advent05/Main.hs
129 build-depends: text, attoparsec, containers
130
131 executable advent06
132 import: common-extensions, build-directives
133 main-is: advent06/Main.hs
134
135 executable advent07
136 import: common-extensions, build-directives
137 main-is: advent07/Main.hs
138 build-depends: text, attoparsec, containers, rosezipper
139
140 executable advent08
141 import: common-extensions, build-directives
142 main-is: advent08/Main.hs
143
144 executable advent09
145 import: common-extensions, build-directives
146 main-is: advent09/Main.hs
147 build-depends: text, attoparsec, containers, linear, lens
148
149 executable advent10
150 import: common-extensions, build-directives
151 main-is: advent10/Main.hs
152 build-depends: text, attoparsec, split
153
154 executable advent11
155 import: common-extensions, build-directives
156 main-is: advent11/Main.hs
157 build-depends: text, attoparsec, containers, lens, mtl
158
159 executable advent12
160 import: common-extensions, build-directives
161 main-is: advent12/Main.hs
162 build-depends: containers, linear, array, pqueue, mtl, lens
163
164 executable advent13
165 import: common-extensions, build-directives
166 main-is: advent13/Main.hs
167 build-depends: text, attoparsec
168
169 executable advent14
170 import: common-extensions, build-directives
171 main-is: advent14/Main.hs
172 build-depends: text, attoparsec, containers, linear, lens
173
174 executable advent15original
175 import: common-extensions, build-directives
176 main-is: advent15/MainOriginal.hs
177 build-depends: text, attoparsec, containers, linear, lens
178
179 executable advent15sorted
180 import: common-extensions, build-directives
181 main-is: advent15/MainSorted.hs
182 build-depends: text, attoparsec, containers, linear, lens
183
184 executable advent15lazy
185 import: common-extensions, build-directives
186 main-is: advent15/MainLazy.hs
187 build-depends: text, attoparsec, containers, linear, lens
188
189 executable advent15directpar
190 import: common-extensions, build-directives
191 main-is: advent15/MainDirectParallel.hs
192 build-depends: text, attoparsec, containers, linear, lens, parallel, deepseq
193
194 executable advent15
195 import: common-extensions, build-directives
196 main-is: advent15/Main.hs
197 build-depends: text, attoparsec, containers, linear, lens, parallel, deepseq, split
198
199 executable advent15prof
200 import: common-extensions, build-directives
201 main-is: advent15/Main.hs
202 build-depends: text, attoparsec, containers, linear, lens, parallel, deepseq, split
203 ghc-options: -O2
204 -Wall
205 -threaded
206 -eventlog
207 -rtsopts "-with-rtsopts=-N -p -s -hT -ls"
208
209 executable advent16
210 import: common-extensions, build-directives
211 main-is: advent16/Main.hs
212 build-depends: text, attoparsec, containers, pqueue, mtl, lens, split
213
214 executable advent17
215 import: common-extensions, build-directives
216 main-is: advent17/Main.hs
217 build-depends: containers, linear, lens
218
219 executable advent18
220 import: common-extensions, build-directives
221 main-is: advent18/Main.hs
222 build-depends: text, attoparsec, containers, linear, lens
223
224 executable advent19
225 import: common-extensions, build-directives
226 main-is: advent19/Main.hs
227 build-depends: text, attoparsec, containers, pqueue, mtl, lens, multiset, parallel, deepseq
228
229 executable advent20
230 import: common-extensions, build-directives
231 main-is: advent20/Main.hs
232 build-depends: data-clist , lens
233
234 executable advent21
235 import: common-extensions, build-directives
236 main-is: advent21/Main.hs
237 build-depends: text, attoparsec, containers, lens
238
239 executable advent22
240 import: common-extensions, build-directives
241 main-is: advent22/Main.hs
242 build-depends: containers, linear, lens, mtl
243
244 executable advent23original
245 import: common-extensions, build-directives
246 main-is: advent23/MainOriginal.hs
247 build-depends: containers, linear, lens, mtl, multiset
248
249 executable advent23u
250 import: common-extensions, build-directives
251 main-is: advent23/MainUnordered.hs
252 build-depends: unordered-containers, hashable, linear, lens, mtl, multiset
253
254 executable advent23
255 import: common-extensions, build-directives
256 main-is: advent23/Main.hs
257 build-depends: linear, lens, mtl, array
258
259 executable advent23prof
260 import: common-extensions, build-directives
261 main-is: advent23/Main.hs
262 build-depends: linear, lens, mtl, array
263 ghc-options: -O2
264 -Wall
265 -threaded
266 -rtsopts "-with-rtsopts=-N -p -s -hT"
267
268 executable advent24
269 import: common-extensions, build-directives
270 main-is: advent24/Main.hs
271 build-depends: containers, pqueue, mtl, lens, linear, array
272
273 executable advent25
274 import: common-extensions, build-directives
275 main-is: advent25/Main.hs
276
277 executable scrambled-mess
278 import: common-extensions, build-directives
279 main-is: scrambled-mess/Main.hs