Prolog
Logic programming · 1972Actively developedLogic programming through relations, unification and search.
Logic
Links
- 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
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.