threaded_engine_next/2

Description

threaded_engine_next(Engine, Answer)

Retrieves an answer from an engine and signals it to start computing the next answer. This predicate blocks until an answer becomes available. The predicate fails when there are no more solutions to the engine goal. If the engine goal throws an exception, calling this predicate will re-throw the exception and subsequent calls will fail.

Modes and number of proofs

threaded_engine_next(@nonvar, ?term) - zero_or_one

Errors

Engine is a variable:
instantiation_error
Engine is neither a variable nor the name of an existing engine:
existence_error(engine, Engine)

Examples

% get the next answer from the worker_1 engine:
| ?- threaded_engine_next(worker_1, Answer).