Package-level declarations
Types
Full-fledged Prolog DSL scope: assembles every dsl-core/dsl-unify/dsl-theory mixin (MinimalLogicProgrammingScope term/clause builders, LogicProgrammingScopeWithSubstitutions, LogicProgrammingScopeWithPrologStandardLibrary, LogicProgrammingScopeWithOperators, LogicProgrammingScopeWithVariables, LogicProgrammingScopeWithUnification, it.unibo.tuprolog.dsl.theory.LogicProgrammingScopeWithTheories) plus LogicProgrammingScopeWithResolution, the resolution-driving sugar added by this module (solve/staticKb/dynamicKb, and every it.unibo.tuprolog.solve.MutableSolver operation). This is the receiver type of logicProgramming/prolog:
Default LogicProgrammingScope implementation: forwards VariablesProvider, Unificator, TheoryFactory and MutableSolver operations to its respective collaborator (variablesProvider, unificator, theoryFactory, defaultSolver), and requires (in its init block) that they all share the same Scope/Unificator consistently. Built by LogicProgrammingScope.of (and transitively by logicProgramming/lp/prolog) rather than instantiated directly by client code.
Adds resolution-driving sugar to LogicProgrammingScopeWithUnificator: implements MutableSolver itself (forwarding to defaultSolver, e.g. via MutableSolver by defaultSolver as LogicProgrammingScopeImpl does), so solve/solveOnce/solveList and every knowledge-base-mutating operation (MutableSolver.assertZ, MutableSolver.retract, ...) are callable directly on the scope — plus staticKb/dynamicKb shorthands for loading a whole knowledge base at once, and solverOf for building additional, independent solvers sharing this scope's solverFactory/unificator.
Functions
Entry point of the resolution-aware Prolog DSL: builds a fresh LogicProgrammingScope backed by a it.unibo.tuprolog.solve.MutableSolver obtained from solverFactory (see LogicProgrammingScopeWithResolution.defaultSolver), and runs function against it as the receiver. Everything built or asserted inside function (facts, rules, queries via solve/staticKb/dynamicKb) shares that one scope and that one underlying solver.
Shorthand alias for logicProgramming.
Shorthand for logicProgramming defaulting its solverFactory argument to Solver.prolog, the classic, ISO-standard SLD-NF resolution engine (:solve-classic). This is the DSL's main entry point for everyday use: