now that @simrob has done #AoC twice with the logic programming language we built, Dusa, i would like to more confidently encourage people to tinker with it: https://dusa.rocks/docs
start there, with the docs page (which you can also access by clicking the "?" from the web editor, which is the default view from dusa.rocks/). there's an intro for if you're familiar with datalog, answer set programming, or neither. you can get quite far by playing around entirely within the browser-based editor