139 Commits

Author SHA1 Message Date
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
c39113dd0e Add day 8 part 2 example output 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
423ad9821c Add day 7 part 2 example output 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
ef731df494 Remove duplicate in dependency list 2025-12-08 11:53:14 +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
e6bf315716 Add day 5 part 2 example output 2025-12-05 13:18:01 +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
2f35bd9251 Format 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
649f06821b Add day 4 part 2 example output 2025-12-04 18:02:57 +00:00
George Thomas
9137e7cd66 Solve day 4 part 1 2025-12-04 18:02:57 +00:00
George Thomas
dea25e3359 Add some useful dependencies 2025-12-04 11:14:31 +00:00
George Thomas
0844d4af2f Initialise day 4 2025-12-04 10:00:15 +00:00
George Thomas
beaacd3e03 Reformat 2025-12-04 09:53:37 +00:00
George Thomas
6727a0a301 Reformat flake outputs 2025-12-04 09:52:28 +00:00
George Thomas
7758ab39a8 Reformat flake inputs 2025-12-04 09:51:26 +00:00
George Thomas
23c0777425 Fix Rust Analyzer
Previously we had warnings about sysroot, and limited feedback. This fix is from the Crane docs section about building standard library crates.
2025-12-04 09:50:55 +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
fde8efee8c Add day 3 part 2 example output 2025-12-03 15:57:01 +00:00
George Thomas
2c1edfcfb6 Defer type errors 2025-12-03 15:56:56 +00:00
George Thomas
94c9838371 Add some useful extensions 2025-12-03 15:56:56 +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
238e26dccf Move all Rust stuff in to subdirectory 2025-12-02 18:38:21 +00:00
George Thomas
3a00dc568f Rename Rust source folder 2025-12-02 18:38:09 +00:00
George Thomas
2950ff778e Add simple Rust Crane project
The Nix code is taken from the Crane docs, and adapted for merging with the existing Haskell.Nix flake. The other files are from `cargo init`, with minor modifications, and `cargo generate-lockfile`.

The default dev shell contains tools for both languages.

We can now run `nix build .#rust` and `nix build .#haskell`, where the latter was previously `nix build .#aoc:exe:aoc`.
2025-12-02 16:42:44 +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
George Thomas
b7c17c2d32 Sort dependencies 2025-12-02 15:05:31 +00:00
George Thomas
3b093aac23 Use named directory for Haskell source
Makes way for other languages.
2025-12-02 14:59:15 +00:00