Package-level declarations
Types
Signature to Wrapped type, abstract wrapper class
A type for entities bound to a maximum execution duration, e.g. an ExecutionContext or a it.unibo.tuprolog.solve.primitive.Solve.Request, used to enforce it.unibo.tuprolog.solve.SolveOptions.timeout across a resolution and its nested requests.
An interface representing the Solver execution context, containing important information that determines its behaviour.
Base type for all entities which must be aware of the current state of a solver
A parsed reference to a JS value (e.g. a SolverFactory object instance) reachable as require(module) followed by the dotted qualifiedName path, as used by the JS actual lookups of classicSolverFactory() and friends.
General type for mutable logic Solvers. MutableSolvers differ from Solvers in that they expose public methods for letting clients affect the state of the solver -- e.g. affecting the KB -- while no resolution process is ongoing.
Configuration for a single Solver.solve invocation: whether solutions are computed lazily or eagerly, how long resolution may run for, how many solutions to cap at, and any implementation-specific extra knob.
General type for logic solvers, i.e. any entity capable of solving some logic query -- provided as a Struct -- according to some logic, implementing one or more inference rule, via some resolution strategy.
A mutable, fluent builder for Solver/MutableSolver instances, as an alternative to calling SolverFactory.solverOf (and friends) with many named arguments at once.
A factory for a specific Solver implementation (i.e. a specific resolution strategy), providing both defaults for every piece of a solver's state and constructors for Solver/MutableSolver instances.
This type represents how the solver will see time duration
This type represents how the solver will see time instants
Functions
Platform-specific lookup of the :solve-classic SolverFactory (backing it.unibo.tuprolog.solve.Solver.prolog/ it.unibo.tuprolog.solve.Solver.classic).
Platform-specific lookup of the :solve-classic SolverFactory (backing it.unibo.tuprolog.solve.Solver.prolog/ it.unibo.tuprolog.solve.Solver.classic).
Platform-specific lookup of the :solve-classic SolverFactory (backing it.unibo.tuprolog.solve.Solver.prolog/ it.unibo.tuprolog.solve.Solver.classic).
Platform-specific lookup of the :solve-concurrent SolverFactory (backing it.unibo.tuprolog.solve.Solver.concurrent).
Platform-specific lookup of the :solve-concurrent SolverFactory (backing it.unibo.tuprolog.solve.Solver.concurrent).
Platform-specific lookup of the :solve-concurrent SolverFactory (backing it.unibo.tuprolog.solve.Solver.concurrent).
A function returning current Time instant
A function returning current Time instant
A function returning current Time instant
Performs the given action on each element, giving a lookahead hint (i.e. if there's another element to process after).
Shorthand for this Library's declared Library.operators, as a Sequence.
Shorthand for this Runtime's declared Runtime.operators, as a Sequence.
Assembles a Library out of one or more AbstractWrappers (i.e. it.unibo.tuprolog.solve.primitive.PrimitiveWrappers, it.unibo.tuprolog.solve.function.FunctionWrappers, or it.unibo.tuprolog.solve.rule.RuleWrappers), optionally named alias. Useful to declare a small, ad-hoc Library without hand-writing an implementation.
Platform-specific lookup of the :solve-problog SolverFactory (backing it.unibo.tuprolog.solve.Solver.problog).
Platform-specific lookup of the :solve-problog SolverFactory (backing it.unibo.tuprolog.solve.Solver.problog).
Platform-specific lookup of the :solve-problog SolverFactory (backing it.unibo.tuprolog.solve.Solver.problog).
Solves the goal built by scopedContext within a fresh, empty Scope (useful to build the goal Struct using scoped variables inline), capping resolution to maxDuration.
Platform-specific lookup of the :solve-streams SolverFactory (backing it.unibo.tuprolog.solve.Solver.streams).
Platform-specific lookup of the :solve-streams SolverFactory (backing it.unibo.tuprolog.solve.Solver.streams).
Platform-specific lookup of the :solve-streams SolverFactory (backing it.unibo.tuprolog.solve.Solver.streams).
Collects this Sequence of Operators into an OperatorSet.