SWI-Prolog Did You Know Did you know? This website is written entirely in SWI-Prolog Search Documentation:
Example 2: avoiding non-termination