This repo contains the code to solve the puzzles from 2025 Advent of Code. The README.md file in the folder for each day contains my observations when solving that day's puzzle.
Unless day-specific README.md files contain specific instructions, use the following commands to execute the solution.
crystal dayX.cr <filename>elixir dayX.exs <filename>cargo run <filename>scala dayX.scala -- <filename>
| Days | Crystal (v1.18.2) | Elixir (v1.19.4) | Rust (v1.91.1) | Scala (v3.7.4) |
|---|---|---|---|---|
| 1 | 1 | 2 | ||
| 2 | 1 | 2 | ||
| 3 | 1 | 2 | ||
| 4 | 2 | 1 | ||
| 5 | 1 | 2 | ||
| 6 | 1 | 2 | ||
| 7 | 2 | 1 | ||
| 8 | 2 | 1 | ||
| 9 | 1 | 2 | ||
| 10 | * | 1 | ||
| 11 | 2 | 1 | ||
| 12 | 2 | 1 |
- On Day 9, I found an odd bug in Crystal:
(set1 | set2) - set3contained elements fromset3when these sets contained objects of a custom class namedLocationthat had two gettersx: Int64andy: Int64along with custom equals and hash methods defined via thedef_equals_and_hash()macro. I was not able to reproduce the same issue in a minimal setting. So, I am switching over to Ruby v3.4.7 instead of Crystal for the remaining days.
Copyright (c) 2025, Venkatesh-Prasad Ranganath
Licensed under BSD 4-Clause “Original” or “Old” License (https://choosealicense.com/licenses/bsd-4-clause/)
Authors: Venkatesh-Prasad Ranganath