Acomip A Couple of Meta-interpreters in Prolog, collection of meta-interpreters and tutorial.

Alzint Interpreter for AL(Z) (assignment language over integers), a simple Turing-complete programming language. Supports tracing and reverse execution. Written in Prolog.

Bitcoinolog Reason about Bitcoin addresses with Prolog.

CLP(B) Constraint solver over Boolean variables.

CLP(ℤ) Constraint logic programming over integers. Using a slightly modified version of a program by Mats Carlsson, you can for example solve instances of the social golfer problem with Scryer Prolog. An example with 8 games a week in groups of 4 (32 players in total) playing for 9 weeks is sol9.txt. You can also read a short introduction.

Connect 4 Connect 4 (four in a row, plot four) game that plays against itself. Prolog.

DCG Primer Introduction to Prolog definite clause grammars (DCGs).

ediprolog Emacs does Interactive Prolog. Elisp definitions to interact with Scryer Prolog in arbitrary Emacs buffers.

etrace Graphical Prolog Tracer in Emacs.

galeshapley.pl Gale-Shapley algorithm to find a stable matching, also known as stable marriage, implemented in Prolog. A Prolog program that finds all stable matchings by exhaustive search: allstable.pl

Knight's Tour Closed knight's tours on an NxN chessboard, written in Prolog. Example application of the circuit/1 constraint, describing a Hamiltonian circuit.

LetSWICrypt Walkthrough document and sample files for running HTTPS servers with SWI-Prolog.

Lisprolog Interpreter and parser for a simple Lisp, written in Prolog.

markov.pl Markov chain demonstration, written in Prolog. Train a Markov chain of arbitrary order and use it for text generation.

N-queens N-queens constraint solving visualization, written in Prolog.

plres.pl Prolog program that finds shortest resolution refutations of propositional clauses.

Presprover Presprover can determine validity and satisfiability of all formulas of Presburger arithmetic. Written in Prolog.

Proloxy HTTP reverse proxy, written in Prolog.

Prost Prolog streams (sequences, delayed/lazy/infinite lists) demonstration.

quine.pl A Prolog quine, bootstrapped from quinebs.pl. Prolog is fully reflective, allowing for a more concise quine: quinerefl.pl.

scc.pl Prolog library for computing the strongly connected components of a graph using Tarjan's algorithm.

simplex Prolog library for solving linear programming problems. Implements the simplex algorithm, and contains a streamlined version for solving transportation and assignment problems. Also contains a simplistic branch-and-bound implementation to solve mixed integer programs. A show-case is delayed column generation.

Simsttab A timetabling engine for schools. Written in Prolog.

Sudoku Sudoku constraint solving visualization, written in Prolog.

Tist Thinking in States; various show-cases (puzzle, interpreter, compiler, virtual machine), realized using declarative approaches. Examples in Prolog, Haskell and J.

TRS Prolog definitions for reasoning about term rewriting systems, using algorithms described in Term Rewriting and All That by Baader and Nipkow. This program implements the Knuth-Bendix completion procedure.

Wisemen Demonstrates agent reasoning using constraint handling rules (CHR). See source file for documentation.

Wumpus World An AI-classic. Contains a framework to test your own agents and a simple example agent. Written in Prolog.