I have been taking this as an opportunity to learn Lean, a purely functional language with dependent types and proofs, like Rocq.
My beginner code:
https://github.com/jorendorff/advent-of-code/tree/main/2025Lean is a Very Large language, like Rust or Common Lisp, not small like C or Scheme. The core of the language is the same as Rocq as far as I'm qualified to say, but it's more oriented toward actually building and running real programs. It seems to have picked up some nice superficial bits from Elixir, like the `|>` operator and `ModuleName.funName` syntax for organizing related functions. The interesting tension in the language is between actually carrying around proofs, which is very time-consuming and prone to dead ends, but produces theoretically verifiable programs; or not, in which case you might as well use OCaml.
I haven't successfully proven anything about my programs. Just getting them to run is hard enough!
You know, since there are only 12 puzzles this year, we could have a recurring feature of NashFP in 2026: someone (or someones) present their solution for the corresponding day's puzzle... So in January, we do Day 1; in February, Day 2; etc. Although, we only have 11 meetings a year, not 12. It almost lines up. Hmm.
-j