Throws an uninstantiation error. Used when an argument or one of its sub-arguments is bound but a variable is required. For example, trying to open a file with a stream argument bound.
This built-in method is declared private and thus cannot be used as a message to an object. Calling this predicate is equivalent to the following sequence of calls:
..., context(Context), throw(error(uninstantiation_error(Culprit), Context)).
This allows the user to generate errors in the same format used by the runtime.
Modes and number of proofs
uninstantiation_error(@nonvar) - error
..., var(Handler), uninstantiation_error(my_stream).