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