Advent of Code 2023

For the problems see adventofcode.com/2023
I first (try to) solve the problem in Picat (day.pi), and then (perhaps) in SWI-Prolog (day_swi.pl). Occasionally, I also include variants of the solutions, for example faster versions or using another approaches (such as using CP). And I tend to tweak the program during the problem day both for speed and for readability.

For the Picat programs, I might use my regex regex module.

The times (using hyperfine) are for my 2018 computer:

My solutions