From the hub, written by: "Robert Laing"
In the process of developing a fairly large SWI-Prolog project, I've developed some experience at using PlDoc — which actually goes beyond being an automated documentation system, doubling as an integrated development environment — and PlUnit, which I'll share here.
An example of using Prolog's definite clause grammar to write a compiler for a Pascal-like programing language. The example is taken from the open access textbook: "The Art of Prolog".
An example of what computer science textbooks call "adversarial search" using the minimax and alpha-beta theorems to create an AI game player written in Prolog.
An example of using depth first and breadth first searches (written to be nearly identical to highlight the subtle difference between a stack and a queue) to solve three common puzzles commonly used as examples in AI textbooks.
This is a list of simple examples, mainly created for my own reference, on the numerous ways of list processing in Prolog. My original title was six ways to iterate in Prolog, but it's reached 11 and still counting.
I'm in the process of re-implementing a course given by Reddid founder Steve Huffman via Udacity a few years ago, using SWI Prolog hooked to Postgresql. My tutorial is about half way done, which is far enough to be useful to anyone wanting some simple examples of how to use SWI Prolog for web development.