Prolog is the most commonly used logic programming language. It supports non-deterministic programming through chronological backtracking and pattern matching through unification. Do not use this tag like Prologue and Epilogue.
Prolog is the oldest and most popular logic programming language. Its built-in features include non-deterministic programming through backtracking and a powerful parser formalism called Definite Clause Grammars (DCG) dcg. Modern variants often support some form of constraint programming. It is used for automated reasoning, deductive databases, planning and scheduling tasks, natural language processing, engines for web/business rules and is often used to introduce the declarative paradigm in school.
There is an ISO/IEC standard for Prolog iso-prolog.
Further efforts in harmonizing implementations can be found at Prolog Commons.
Prolog-related tags
Core language: unification prolog-dif dcg dcg-semicontext clpfd successor-arithmetics occurs-check prolog-setof prolog-findall prolog-cut prolog-assert clpb clpr logical-purity prolog-coroutining prolog-tabling instantiation-error
Modules: modulemeta-predicate
Environment: failure-sliceprolog-toplevel
Arithmetics: fibonaccifactorialexponentiationpythagoreangreatest-common-divisorprimesperfect-numbers
Puzzles: 8-puzzlezebra-puzzleriver-crossing-puzzlecryptarithmetic-puzzlemagic-squaren-queenswater-jug-problem eight-peg-puzzle wumpus-world tic-tac-toe
Problems: graph-coloring
logic-programming artificial-intelligence
Implementations:
- SWI (free) swi-prolog
- SICStus (commercial) sicstus-prolog
- GNU (free) gnu-prolog
- XSB (free) xsb
- B (commercial, discontinued, now Picat) b-prolog
- IF (commercial)
- Ciao (free)
- Minerva (commercial)
- ECLiPSe-CLP (free) eclipse-clp
- Prolog IV (free)
- Tau (free) tau-prolog
- Scryer (free)
- C-Prolog
- trealla
free = allows commercial use without royality
Forums
- SWI-Prolog - Discourse
Free Prolog Programming Books
- Adventure in Prolog
- Applications of Prolog (Has embedded advertisements)
- Building Expert Systems in Prolog
- Introduction to Prolog for Mathematicians
- Learn Prolog Now!
- Logic, Programming and Prolog (2ed)
- Natural Language Processing Techniques in Prolog
- Prolog and Natural-Language Analysis, examples
- Prolog Programming A First Course
- Prolog Techniques (Has embedded advertisements)
- Simply Logical
- The First 10 Prolog Programming Contests
- The Power of Prolog
- Visual Prolog 7.2 for Tyros
- Natural Language Processing for Prolog Programmers
Languages influenced by Prolog
erlang mercury picat Microsoft Guan
Historical Archive
Prolog and Logic Programming Historical Sources Archive