threaded_peek(Goal) threaded_peek(Goal, Tag)
Checks if the result of proving Goal
in a new thread is already available. This call succeeds or fails without blocking execution waiting for a reply to be available.
The argument of this predicate should be a variant of the argument of the corresponding threaded_call/1
call. When the predicate argument is subsumed by the threaded_call/1
call argument, the threaded_peek/1
call will succeed iff its argument unifies with an already available solution of the (more general) goal.
The variant threaded_peek/2
accepts a threaded call identifier tag generated by the calls to the threaded_call/2
and threaded_once/2
predicates. Tags shall be regarded as an opaque term; users shall not rely on its type.
threaded_peek(+callable) threaded_peek(+callable, +nonvar)
instantiation_error
type_error(callable, Goal)
instantiation_error
threaded_peek(Goal)
threaded_peek(::Goal)
threaded_peek(Object::Goal)
threaded_call/1-2
, threaded_exit/1-2
, threaded_ignore/1
, threaded_once/1-2
threaded/1