Solutions for Advent of Code 2025, mostly in Picat
  • Shell 42.2%
  • Nim 22.9%
  • Python 20.4%
  • C 14.5%
Find a file
2025-12-21 04:17:25 +00:00
1 Picat: Swap out parse_term for to_int when parsing ints 2025-12-05 20:33:57 +00:00
2 Picat: Swap out parse_term for to_int when parsing ints 2025-12-05 20:33:57 +00:00
3 Picat: Swap out parse_term for to_int when parsing ints 2025-12-05 20:33:57 +00:00
4 Day 4 Nim version using sets, 30x faster 2025-12-07 09:40:22 +00:00
5 Picat: Swap out parse_term for to_int when parsing ints 2025-12-05 20:33:57 +00:00
6 Picat: drop(1) => tail 2025-12-06 16:27:45 +00:00
7 Day 7: squish Nim solution a bit 2025-12-07 07:59:37 +00:00
8 Picat lib: Move union-find functions to new disjoint_set module 2025-12-08 09:05:06 +00:00
9 Day 9, 10 2025-12-10 07:26:00 +00:00
10 Day 9, 10 2025-12-10 07:26:00 +00:00
11 Day 11, Picat 2025-12-11 08:46:17 +00:00
12 Tidy 2025-12-21 04:17:25 +00:00
lib Day 9, 10 2025-12-10 07:26:00 +00:00
scripts Picat: add split_list/2 function to new lib/list module, refactor day 6 solution to use it 2025-12-06 06:44:14 +00:00
.gitignore Day 1, Picat 2025-12-01 05:43:04 +00:00
LICENSE Add zlib license 2025-12-01 17:26:45 +00:00
README.md Fix day 12 Picat planner solution 2025-12-21 03:58:32 +00:00

🎄 Advent of Code 2025 🎄

My solutions for the Advent of Code 2025 programming puzzles. Like last year I'll probably use Picat for most of these with Nim as a fallback for graph search problems that can be expensive in Picat.

Previous challenges

  • 2015 (working on these now in Picat)
  • 2019 (my first AoC, unfinished, to be resumed / restarted later...)
  • 2020 (mostly Haskell, one or two in Rust, Python and zz)
  • 2021 (mostly Haskell, with one in the magical Picat)
  • 2022 (mostly Nim)
  • 2023 (mostly Picat)
  • 2024 (mostly Picat)

Current code stats with scc

───────────────────────────────────────────────────────────────────────────────
Language                     Files       Lines     Blanks    Comments      Code
───────────────────────────────────────────────────────────────────────────────
Picat                           38        1666        197         104      1365
Nim                              4          80         17           0        63
C                                1          56          4           2        50
License                          1          21          5           0        16
───────────────────────────────────────────────────────────────────────────────
Total                           44        1823        223         106      1494
───────────────────────────────────────────────────────────────────────────────
Processed 46029 bytes, 0.046 megabytes (SI)
───────────────────────────────────────────────────────────────────────────────

Retrospectives