Advent of Code 2025 in Prolog
=============================

It's that time of year again!! This year, I'm learning pure, monotonic, and modern Prolog. I tried this a few years ago, and failed miserably; hopefully it will go better this year!

To the best of my knowledge, all the code here is pure and monotonic, apart from:
- a findall/3 in day 2
- an assertz/1 in day 11, which asserts the input as a fact, so that traversing the input can be tabled.

I have a lot of common stuff in my .scryerrc file.

  day       ms   loc
-----   ------   ---
01.pl    5,201   **************
02.pl    2,064   ********************
03.pl      830   **************
04.pl   18,888   **********************
05.pl      791   **********
06.pl    1,254   *****************
07.pl    2,502   *****************
08.pl    5,518   ***************************************
09.pl   15,038   *******************************
10.pl   11,279   *************************************
11.pl    6,897   ******************
12.pl    3,417   *******
  avg    6,139   ********************


~/aoc25pl