Useful Prolog references

Useful Prolog references

Note: This is a topic for adding links to useful Prolog information for any one to find.
If you have Trust level: Basic you can add to this list by clicking on the edit icon in the lower right. Capture

Note: Do not reply to this topic; questions, concerns, comments, etc. are to be handled in
Wiki Discussion: Useful Prolog references

References

SWI-Prolog Contributors

Coding Guidelines for Prolog

SWISH - A popular playground for learning SWI-Prolog online. Only requires an internet browser. If you know Jupyter for Python, then think SWISH for SWI-Prolog.

StackOverflow Prolog tag contains links to many Prolog implementations and free Prolog books.

Learn Prolog Now is a popular site for learning Prolog.
A test variation of Learn Prolog Now using SWISH.
Notes/Answers created by others using LearnPrologNow on GItHub

Newsletter (Free)

Association for Logic Programming

Books

Online

The Power of Prolog is a great online book (with some video links) explaining prolog from the ground up, including DCGs and Constraint Logic Programming; it is very good.
Simply Logical: Intelligent Reasoning by Example

PDF

“The Art of Prolog” By Leon S. Sterlingand and Ehud Y. Shapiro (site) (free pdf)
“Prolog and Natural-Language Analysis” by Fernando C. N. Pereira and Stuart M. Shieber (site) (free pdf)

Classics

Prolog Programming for Artificial Intelligence (4th Edition) by Ivan Bratko (WorldCat)
Programming in Prolog by W F Clocksin and C S Mellish (WorldCat)
The Art of Prolog - advanced programming techniques by Leon S Sterling, Ehud Y Shapior and David H D Warren (WorldCat)
The Craft of Prolog by Richard A O`Keefe (WorldCat)

Prolog reference manuals

Often contain useful examples

SWI-Prolog (HTML)
SICStus Prolog (HTML)
Quintus Prolog (HTML)
Barry’s Prolog (PDF)

Sites hosting research papers for download

Free

Professional organizations

require membership fee

Sites hosting bibliography

  • DBLP - The dblp computer science bibliography provides open bibliographic information on major computer science journals and proceedings.

Searching Internet for research papers - tips

  1. Add pdf as a keyword as it dramatically improves finding the paper if it is indexed by the search engine and avialble as a PDF.
  2. Some times the paper is not indexed by a search engine because the paper is stored on the public site of a professor but robots.txt excludes indexing personal pages. So if you know the author(s), go to their school site, search for the author, find their personal pages and manually search them. This has a low probably of working, but does sometimes work when Google or such fails.

SWI-Prolog predicate documentation

The SWI-Prolog library

Example: append/3


To see the source code for a specific predicate click on image (link)

Locating a library with a specific book

WorldCat - If you fill in your location on the page, it will show libraries near you where the book can be found, includes university libraries. Also includes places where you can purchase the book if desired, including out of print and used books.

Papers

Publications about SWI-Prolog
Unification theory
Intro to Web Prolog for Erlangers
Logical Loops
Use of Prolog for developing a new programming language and A History of the Erlang VM
Negation as failure
Definite Clause Grammars for Language Analysis --A Survey of the Formalism and a Comparison with Augmented Transition Networks

Libraries

The SWI-Prolog library

pengines 0.1.8 - A simple python library for interacting with SWI-Prologs Pengines

Code repositories

Code by Hakan Kjellerstrand - My SWI-Prolog page (GitHub)

GitHub (Prolog)

RosettaCode has examples of lots of simple programming task implemented in many programming languages. If you know one programming language, you can often find the same implementation in another language. Prolog tasks.

Applications making use of Prolog

Pharos Static Binary Analysis Framework (GitHub) (YouTube)

Gerrit Code Review - Uses Prolog for rules

PRESS: PRolog Equation Solving System

ConceptBase.cc - A System for Metamodeling and Method Engineering

History

Prolog and Logic Programming Historical Sources Archive - This is a gold mine if you want to see the history of different Prolog implementations with archived code included.

“The birth of Prolog” by Alain Colmerauer and Philippe Roussel (PDF)

IDEs

PceEmacs - SWI-Prolog built-in editor

Emacs

Visual Studio Code

Gedit

Howto guides/Tutorial

By Anne Ogborn

By Robert Laing

The above are notes from developing a chess player at http://www.newsgames.biz/chess and a draughts player at http://www.newsgames.biz/draughts which are still work in progress, so the guides are also improving gradually.

Algorithms

Dictionary of Algorithms and Data Structures
The Stony Brook Algorithm Repository
StackOverflow tag Language Agnostic - Contains Free Language Agnostic Programming Books

Other

Awesome Prolog

5 Likes