Initial attempt at optimising day 23
[advent-of-code-23.git] / advent-of-code23.cabal
1 cabal-version: 3.6
2 name: advent-of-code23
3 version: 0.1.0.0
4
5 -- A short (one-line) description of the package.
6 synopsis: Solutions for the Advent of Code 2023
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 , TypeOperators
70 , ViewPatterns
71
72 common build-directives
73 build-depends: base >=4.18
74 default-language: Haskell2010
75 hs-source-dirs: ., app, src
76 other-modules: AoC
77 ghc-options: -O2
78 -Wall
79 -threaded
80 -rtsopts "-with-rtsopts=-N"
81
82 executable advent-of-code23
83 main-is: Main.hs
84
85 -- Modules included in this executable, other than Main.
86 -- other-modules:
87
88 -- LANGUAGE extensions used by modules in this package.
89 -- other-extensions:
90 build-depends: base ^>=4.18
91 hs-source-dirs: app, src
92 default-language: Haskell2010
93
94 library
95 import: common-extensions
96 build-depends: base >=4.18
97 hs-source-dirs: ., app, src
98 exposed-modules: AoC
99
100 executable advent01
101 import: common-extensions, build-directives
102 main-is: advent01/Main.hs
103
104 executable advent02
105 import: common-extensions, build-directives
106 main-is: advent02/Main.hs
107 build-depends: text, attoparsec
108
109 executable advent02a
110 import: common-extensions, build-directives
111 main-is: advent02/MainApplicative.hs
112 build-depends: text, attoparsec
113
114 executable advent03
115 import: common-extensions, build-directives
116 main-is: advent03/Main.hs
117 build-depends: linear, array
118
119 executable advent04
120 import: common-extensions, build-directives
121 main-is: advent04/Main.hs
122 build-depends: text, attoparsec
123
124 executable advent05
125 import: common-extensions, build-directives
126 main-is: advent05/Main.hs
127 build-depends: text, attoparsec, containers, split
128
129 executable advent05d
130 import: common-extensions, build-directives
131 main-is: advent05/MainDirect.hs
132 build-depends: text, attoparsec, containers, split
133
134 executable advent06
135 import: common-extensions, build-directives
136 main-is: advent06/Main.hs
137 build-depends: text, attoparsec
138
139 executable advent07
140 import: common-extensions, build-directives
141 main-is: advent07/Main.hs
142 build-depends: text, attoparsec
143
144 executable advent07c
145 import: common-extensions, build-directives
146 main-is: advent07/MainWithCase.hs
147 build-depends: text, attoparsec
148
149 executable advent08
150 import: common-extensions, build-directives
151 main-is: advent08/Main.hs
152 build-depends: text, attoparsec, containers
153
154 executable advent09
155 import: common-extensions, build-directives
156 main-is: advent09/Main.hs
157 executable advent09c
158 import: common-extensions, build-directives
159 main-is: advent09/MainComplicated.hs
160
161 executable advent10
162 import: common-extensions, build-directives
163 main-is: advent10/Main.hs
164 build-depends: linear, array, split, containers
165
166 executable advent11
167 import: common-extensions, build-directives
168 main-is: advent11/Main.hs
169 build-depends: linear, containers
170
171 executable advent12
172 import: common-extensions, build-directives
173 main-is: advent12/Main.hs
174 build-depends: text, attoparsec, containers
175 executable advent12bf
176 import: common-extensions, build-directives
177 main-is: advent12/MainBruteForce.hs
178 build-depends: text, attoparsec, containers
179
180 executable advent13
181 import: common-extensions, build-directives
182 main-is: advent13/Main.hs
183 build-depends: split
184
185 executable advent14
186 import: common-extensions, build-directives
187 main-is: advent14/Main.hs
188 build-depends: containers, array, linear
189 executable advent14slow
190 import: common-extensions, build-directives
191 main-is: advent14/MainSlow.hs
192 build-depends: containers
193
194 executable advent15
195 import: common-extensions, build-directives
196 main-is: advent15/Main.hs
197 build-depends: containers, text, attoparsec
198
199 executable advent16
200 import: common-extensions, build-directives
201 main-is: advent16/Main.hs
202 build-depends: linear, array, containers
203
204 executable advent17
205 import: common-extensions, build-directives
206 main-is: advent17/Main.hs
207 build-depends: containers, linear, array, pqueue, mtl, lens
208
209 executable advent18
210 import: common-extensions, build-directives
211 main-is: advent18/Main.hs
212 build-depends: linear, text, attoparsec
213
214 executable advent19
215 import: common-extensions, build-directives
216 main-is: advent19/Main.hs
217 build-depends: containers, text, attoparsec, lens
218
219 executable advent20
220 import: common-extensions, build-directives
221 main-is: advent20/Main.hs
222 build-depends: containers, text, attoparsec, lens, mtl
223
224 executable advent21
225 import: common-extensions, build-directives
226 main-is: advent21/Main.hs
227 build-depends: linear, containers, split
228 executable advent21slow
229 import: common-extensions, build-directives
230 main-is: advent21/MainSlow.hs
231 build-depends: linear, containers, split
232
233 executable advent22
234 import: common-extensions, build-directives
235 main-is: advent22/Main.hs
236 build-depends: linear, text, attoparsec, lens, containers
237
238 executable advent23
239 import: common-extensions, build-directives
240 main-is: advent23/Main.hs
241 build-depends: linear, containers, lens, pqueue, mtl
242 executable advent23original
243 import: common-extensions, build-directives
244 main-is: advent23/MainOriginal.hs
245 build-depends: linear, containers, lens
246
247 executable advent24
248 import: common-extensions, build-directives
249 main-is: advent24/Main.hs
250 build-depends: linear, text, attoparsec, lens
251
252 executable advent25
253 import: common-extensions, build-directives
254 main-is: advent25/Main.hs
255 build-depends: text, attoparsec, containers, multiset, random