Package-level declarations
Types
Base implementation of every :solve-prolog it.unibo.tuprolog.solve.Solver/it.unibo.tuprolog.solve.MutableSolver (PrologSolver and MutablePrologSolver, both internal, are the only two concrete subclasses; instances are normally obtained through PrologSolverFactory, which is what the Solver.prolog property resolves to).
One node of the :solve-prolog choice-point queue: a saved point in the proof search that it.unibo.tuprolog.solve.prolog.fsm.StateBacktracking can resume from, chained to its parent to form the full lineage of choice points recorded since the query started (see pathToRoot).
A SolutionIterator that can hijack a state transition, i.e. substitute the State the machine actually moves into for the one it would otherwise have computed.
One frame of the :solve-prolog execution-context stack: a substitution, the streams of remaining goals, candidate Rules and candidate primitive responses, plus a parent link. Frames chain into their parent rather than living in a separate stack container, so the parent chain (see pathToRoot) is the call stack -- ordinary heap-allocated data rather than native JVM/JS stack frames, which is what lets Prolog resolution of arbitrarily deep recursive programs run as an explicit, non-recursive it.unibo.tuprolog.solve.prolog.fsm.State loop instead of unbounded host-language recursion.
The SolverFactory for :solve-prolog, 2P-Kt's ISO-standard, SLD-NF resolution engine.
Drives the :solve-prolog finite-state machine, one State.next step at a time, and turns every visited end-state (see it.unibo.tuprolog.solve.prolog.fsm.EndState) into an emitted Solution.
Functions
Chains a new ChoicePointContext.Primitives recording alternatives onto this (null meaning "the root").
Chains a new ChoicePointContext.Rules recording alternatives onto this (null meaning "the root").
The ChoicePointContext.depth a new choice point chained onto this one (or null, for the root) would have.