Perhaps it’s time that I announce “My SWI-Prolog page” here: http://hakank.org/swi_prolog/ .
The last month I’ve ported almost 200 of my Picat programs to SWI-Prolog, just to get a feeling for how SWI-Prolog works.
SWI-Prolog is a bit different from the previous Prologs/logic programming systems that I’ve tested/played with before (ECLiPSe CLP: http://www.hakank.org/eclipse/ , SICStus Prolog: http://www.hakank.org/sicstus/ , B-Prolog: http://www.hakank.org/bprolog/ , and Picat: http://hakank,org/picat/ ), since these all support some kind of explicit for loops and perhaps list comprehensions, which is not supported in SWI-Prolog. This has been (and still is) a bit of struggle for me, but I’ve found
maplist which is a nice replacements in some cases.
Note that most of these programs are CLPFD programs (since this is what interests me most) and it surely shows my background with these other Prologs.
However, my main goal of this project is to use more of SWI-Prolog’s special and unique features. And since I now read The Art of Prolog (and plan to read Bratko’s AI for Prolog), I might do some GOFAI later as well…