narimiran’s AoC 2025
Hello there!
New to Clojure? Here’s my Quick intro to Clojure notebook from last year.
What is
aoc-utils? It is the library I’ve wrote this year, with some helper functions I often use for AoC tasks. Check out its repo and/or browse through its documentation.Source code of these notebooks is available here, where you can also find links to the repos with my solutions of previous AoC instances. You’ll find my solutions in Clojure, Common Lisp, Elixir, Nim, OCaml, Python, Racket; often multiple languages per each AoC year.
AoC 2025
| Task | Notebook | Highlights | Extras | Comment |
|---|---|---|---|---|
| Day 0: aoc-utils helper package | aoc-utils | Helper package I’ll use for each task. | ||
| Day 1: Secret Entrance | day01.clj | subs, mapcat, reductions | bench | Harder than expected for day 1. |
| Day 2: Gift Shop | day02.clj | partition, re-matches | Easier than Day 1. | |
| Day 3: Lobby | day03.clj | reduce-kv, reduced, partial | Recursion made easy. | |
| Day 4: Printing Department | day04.clj | grid helpers | animation | The easiest one this year. |
| Day 5: Cafeteria | day05.clj | some, sort | Work sorter, not harder. | |
| Day 6: Trash Compactor | day06.clj | comp, partition-by, take-nth | Advent of Parsing. | |
| Day 7: Laboratories | day07.clj | fnil, memoize | I smell something Lanternfishy. | |
| Day 8: Playground | day08.clj | hash-set, disj | No Manhattan distance? Wow! | |
| Day 9: Movie Theater | day09.clj | every?, pmap, ffirst | The hardest one so far. | |
| Day 10: Factory | day10.clj | keep, distinct, juxt, frequencies, group-by | Divide and conquer. | |
| Day 11: Reactor | day11.clj | memoize, zero? | Surprisingly easy. | |
| Day 12: Christmas Tree Farm | day12.clj | The most disappointing AoC task ever? |
source: clojure/index.clj