ClassicSolverFactory
The SolverFactory for :solve-classic, 2P-Kt's ISO-standard, SLD-NF resolution engine.
This is the factory that ultimately backs Solver.prolog (and its deprecated alias Solver.classic, both declared in :solve): those accessors locate this object at runtime -- by fully-qualified class name on the JVM, by module lookup on JS -- rather than depending on :solve-classic directly, which is why this object must remain a top-level, no-argument-constructible object named exactly ClassicSolverFactory in this package. Most callers should go through Solver.prolog/Solver.classic rather than referencing this object directly; it is public mainly so those lookups, and the it.unibo.tuprolog.solve.problog and other resolution strategies that build on top of the classic engine, have something to find and construct.
Every Solver/MutableSolver produced here resolves goals with the explicit, inspectable finite-state machine documented under it.unibo.tuprolog.solve.classic.fsm (see ClassicExecutionContext and SolutionIterator for the two pieces that make it tick), rather than via the host language's call stack -- see the "state-machine" explanation page in the project documentation for the full rationale and its grounding in Ciatto's 2021 paper on modelling a Prolog solver as a state machine.