Explanation¶
Understanding-oriented discussions: the ideas behind logic programming, and why 2PPy works the way it does. Read them to build a mental model; for step-by-step instructions, see the how-to guides, and for exact behaviour, the reference.
- Logic programming in a nutshell: terms, clauses, unification, resolution, backtracking, cut and negation, for Python developers.
- Terms and variables: immutability, the identity of variables, scopes, substitutions.
- Solvers and solutions: what a solver is made of, and how it produces solutions.
- Architecture: how 2PPy wraps 2P-Kt, running on the JVM, behind a Pythonic API.
- How the terminal IDE works: how 2ppy TUI renders 2P-Kt's GUI core, sends it actions, and fulfils its effects.
- Relationship with 2P-Kt: how 2PPy's packages map onto 2P-Kt's modules, and what is (not) exposed.
2P-Kt's own explanation pages go deeper into the engine's internals, e.g. its solver design and clause database.