Package-level declarations
Types
Link copied to clipboard
Signals that term1 and term2 could not be unified, as an exception rather than the Term/Substitution-level failure sentinel (it.unibo.tuprolog.core.Substitution.failed) that it.unibo.tuprolog.unify.Unificator's own operations use to represent unification failure.
Link copied to clipboard
class OccurCheckException(term1: Term, term2: Term, innerVar: Var, innerTerm: Term, other: Throwable?) : NoUnifyException
A NoUnifyException specifically signaling that unifying term1 with term2 failed because innerVar occurs within innerTerm (occurs-check violation): binding innerVar to innerTerm would produce a cyclic/infinite term. See the occurCheckEnabled parameter of it.unibo.tuprolog.unify.Unificator's operations, which (when true) reject such bindings — by returning it.unibo.tuprolog.core.Substitution.failed rather than throwing this exception.