You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Modern, setting occurs_check=error makes a cycle-creating unification raise error(representation_error(term), occurs_check(Var, Term)) instead of error(occurs_check(Var, Term), _). This is a DotProlog extension choice: ISO defines neither
the flag nor term as a representation flag. The rejected pair remains in the error's second
argument, and the printed message is unchanged. Handlers for SWI-Prolog's form need updating.
StrictIso rejects the extension flag. In both modes, ISO unify_with_occurs_check/2 fails
when unification would create a cycle, including when Modern has occurs_check=error.