← All languages

Prolog

Logic programming · 1972Actively developed

Logic programming through relations, unification and search.

Logic

Homepage
https://www.swi-prolog.org/
Reference / standard
https://www.swi-prolog.org/pldoc/doc_for?object=manual
SWI-Prolog forum
https://swi-prolog.discourse.group/
Wikipedia (English)
https://en.wikipedia.org/wiki/Prolog

Tracked release

Version
SWI-Prolog 10.0
Artifact
Runtime feature series
Published
Date not verified
Source checked
2026-10-22
https://www.swi-prolog.org/download/stable

Use & ecosystem

Suited for
Web backends, Symbolic / logic programming
Family / tradition
Logic programming
Maturity
Stable niche
Ecosystem breadth
Focused

Long-lived implementations support Stable niche. Logic and constraint tooling can be deep, but this is not a broadly adopted general application ecosystem.

Industry & practical use

Knowledge representation, symbolic reasoning and constraint-based applications are natural fits. Some implementations also provide useful web-service and integration libraries.

Compilers, libraries & tooling

SWI-Prolog is the representative implementation here, not the owner of Prolog. Module systems, libraries, compilation and extensions differ across implementations.

Platforms & deployment

General toolchains
Linux, Windows, macOS
Specialized tooling
Browser
Browser execution
WebAssembly
Native cross-compilation
Not the usual deployment model

SWI-Prolog supplies desktop/server builds and a specialized Wasm browser route. Other implementations have different target lists.

Programs normally deploy with a compatible Prolog system. Bytecode portability and runtime cross-builds are separate issues.

Project health & support

SWI-Prolog has maintained tooling and a community; other Prolog systems have independent support arrangements. Language-standard stability does not imply interchangeable libraries.

Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below

History & origin

Prolog originated in the early 1970s in work by Alain Colmerauer and Philippe Roussel, with Robert Kowalski’s logic-programming ideas providing an important foundation. Several implementations and dialects developed.

Creators
Alain Colmerauer, Philippe Roussel, Robert Kowalski
Origin
1972 — Conventional origin year for the first implementation.

Influences & descendants

Influenced by

  • Not yet documented in this catalogue.

Influenced in this catalogue

  • No linked entries yet.

Language features

Typing
Dynamic
Execution
Bytecode VM
Block structure
Explicit delimiters
Semicolons
Not statement separators
Lexical closures
Partial
Namespaced modules
Partial
Pattern matching
Yes
Macro system
Term expansion; implementation-dependent

Implementation notes

  • Semicolon is disjunction, not a statement terminator. Clauses end in periods.
  • Unification supplies structural matching. Modules, closure conveniences and term expansion are implementation-dependent.

Sources & references

Project overview
https://www.swi-prolog.org/
Language / implementation reference
https://www.swi-prolog.org/pldoc/doc_for?object=manual

Use, ecosystem & platform sources

Project overview
https://www.swi-prolog.org/
Language / implementation reference
https://www.swi-prolog.org/pldoc/doc_for?object=manual

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.