DefaultBuiltins

The it.unibo.tuprolog.solve.library.Library of built-in predicates the classic engine adds on top of CommonBuiltins: this is what it.unibo.tuprolog.solve.classic.ClassicSolverFactory.defaultBuiltins returns, and what a solver built via Solver.prolog.solverWithDefaultBuiltins() is loaded with.

Everything here exists specifically because this engine resolves goals through the finite-state machine under it.unibo.tuprolog.solve.classic.fsm rather than host-language recursion, so control constructs need an engine-specific implementation: it.unibo.tuprolog.solve.classic.stdlib.primitive.Throw is a Primitive (throw/1), while it.unibo.tuprolog.solve.classic.stdlib.rule.Catch (catch/3), it.unibo.tuprolog.solve.classic.stdlib.rule.Call (call/1), it.unibo.tuprolog.solve.classic.stdlib.rule.Comma (','/2), it.unibo.tuprolog.solve.classic.stdlib.rule.Cut ('!'/0) and it.unibo.tuprolog.solve.classic.stdlib.rule.NegationAsFailure ('\+'/1) are all RuleWrappers expanded into ordinary rule bodies that StateRuleSelection/StateException know how to special-case (cut transparency, exception propagation) at the FSM level.

Properties

Link copied to clipboard
Link copied to clipboard
open override val alias: String
Link copied to clipboard
override val clauses: List<Clause>
Link copied to clipboard
open override val functions: Map<Signature, LogicFunction>
Link copied to clipboard
open override val operators: OperatorSet
Link copied to clipboard
open override val primitives: Map<Signature, Primitive>
Link copied to clipboard

Functions

Link copied to clipboard
open operator fun contains(operator: Operator): Boolean
open operator fun contains(signature: Signature): Boolean
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open fun hasFunction(signature: Signature): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open fun hasPrimitive(signature: Signature): Boolean
Link copied to clipboard
open fun hasProtected(signature: Signature): Boolean
Link copied to clipboard
open override fun hasRule(signature: Signature): Boolean
Link copied to clipboard
open override fun toString(): String