OccurCheckException

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.

Constructors

Link copied to clipboard
constructor(term1: Term, term2: Term, innerVar: Var, innerTerm: Term, other: Throwable?)
constructor(term1: Term, term2: Term, innerVar: Var, innerTerm: Term)

Properties

Link copied to clipboard
expect open val cause: Throwable?
Link copied to clipboard
open override val message: String