Package-level declarations

Types

Link copied to clipboard

Negation as failure (\+/1). Conceptually equivalent to

Link copied to clipboard

Disjunction (;/2), including its Cond -> Then ; Else if-then-else form. Implemented directly as a it.unibo.tuprolog.solve.primitive.Primitive rather than as a rule (unlike ,/2, see it.unibo.tuprolog.solve.concurrent.stdlib.rule.Comma) so that the two branches -- the condition/then pair, or first/second in the plain-disjunction case -- can each be solved with their own ConcurrentSolver instance, one of the few places in this module's standard library, besides the core :solve-concurrent FSM, where two independent sub-resolutions are combined explicitly.

Link copied to clipboard

throw/1: raises its argument as a it.unibo.tuprolog.solve.exception.ResolutionException, to be caught by an enclosing catch/3 (see it.unibo.tuprolog.solve.concurrent.fsm.StateException) or, if none catches it, to halt the branch that raised it (see it.unibo.tuprolog.solve.concurrent.fsm.StateHalt). Behaves like the :solve-classic/:solve-streams implementations of throw/1: an error(Type, Extra)-shaped argument becomes a it.unibo.tuprolog.solve.exception.LogicError of the corresponding it.unibo.tuprolog.solve.exception.error subtype, anything else becomes a generic it.unibo.tuprolog.solve.exception.error.MessageError.