36 Commits

Author SHA1 Message Date
George Thomas
a258b30eae Disable implicit prelude 2025-12-09 00:28:09 +00:00
George Thomas
02fbb8c0be Minor refactor 2025-12-09 00:26:22 +00:00
George Thomas
1e3ed16971 Avoid unsafe list indexing 2025-12-09 00:02:54 +00:00
George Thomas
ea64a5af3e Consistently use separator parsing combinators in infix form 2025-12-08 23:44:43 +00:00
George Thomas
832b85fb7b Solve day 8 part 2 2025-12-08 23:38:48 +00:00
George Thomas
e92cc2f0d3 Minor refactors 2025-12-08 22:59:50 +00:00
George Thomas
1d22a1c188 Reformat 2025-12-08 22:59:50 +00:00
George Thomas
25efc19b31 Format 2025-12-08 22:59:50 +00:00
George Thomas
d0488726a0 Add argument to parser for disambiguating real data versus examples
This breaks less code than adding it to the solution functions, and is more elegant in a way.
2025-12-08 22:59:50 +00:00
George Thomas
43918c70fa Solve day 8 part 2 2025-12-08 22:59:50 +00:00
George Thomas
b0a191edb9 Solve day 8 part 1 2025-12-08 22:59:50 +00:00
George Thomas
f12e7b6e36 Solve day 7 part 2 2025-12-08 22:59:50 +00:00
George Thomas
f6f0fc171f Solve day 7 part 1 2025-12-08 22:59:50 +00:00
George Thomas
5539a4bd05 Solve day 6 part 1 2025-12-08 22:59:35 +00:00
George Thomas
cb86dad006 Initialise day 8 2025-12-08 13:41:19 +00:00
George Thomas
3412b04af1 Initialise day 7 2025-12-08 13:41:19 +00:00
George Thomas
f1db760379 Initialise day 6 2025-12-08 13:27:50 +00:00
George Thomas
371bddf748 Use custom prelude 2025-12-08 12:48:49 +00:00
George Thomas
67180c098f Solve day 5 part 2 2025-12-05 16:54:25 +00:00
George Thomas
1429445efe Simplify day 5 part 1 2025-12-05 16:54:25 +00:00
George Thomas
7ba96ee3e5 Shorten test name for cleaner CLI output 2025-12-05 13:49:04 +00:00
George Thomas
62be96ed57 Solve day 5 part 1 2025-12-05 13:16:33 +00:00
George Thomas
3742e1d254 Initialise day 5 2025-12-05 12:56:40 +00:00
George Thomas
ef342a1483 Refactor day 4 and add extra tests 2025-12-05 12:09:49 +00:00
George Thomas
be0a6510d8 Use lazy text for test outputs
Simplifies encoding code slightly, and potentially saves a lot of time for failing tests. Plus we've always been using `T.show` in practice anyway, so it's an easy change to make.
2025-12-04 21:24:49 +00:00
George Thomas
f91824a6a9 Add some useful inputs to extraTests 2025-12-04 21:17:50 +00:00
George Thomas
8f67916e1a Add way to specify extra tests 2025-12-04 21:17:50 +00:00
George Thomas
0508947a65 Solve day 4 part 2 2025-12-04 20:00:53 +00:00
George Thomas
9137e7cd66 Solve day 4 part 1 2025-12-04 18:02:57 +00:00
George Thomas
0844d4af2f Initialise day 4 2025-12-04 10:00:15 +00:00
George Thomas
a81d622125 Refactor day 1 to make more use of state monad 2025-12-03 17:52:23 +00:00
George Thomas
b9e886c4e4 Solve day 3 part 2 2025-12-03 17:13:47 +00:00
George Thomas
f296e3d5a7 Solve day 3 part 1 2025-12-03 15:56:56 +00:00
George Thomas
b99bacc1e3 Initialise day 3 2025-12-03 11:18:04 +00:00
George Thomas
83b994965d Use consistent naming convention for puzzles 2025-12-02 15:22:21 +00:00
George Thomas
f0c2b8ca02 Move code out to separate modules 2025-12-02 15:19:11 +00:00