timeout object provides a portable abstraction over calling a
goal deterministically with a time limit as made available in some form
by some of the supported backend Prolog systems (B-Prolog, ECLiPSe, LVM,
SICStus Prolog, SWI-Prolog, Trealla Prolog, XSB, and YAP).
For better performance, compile calls to this library meta-predicates
optimize flag turned on so that the meta-arguments, i.e.
the goals that you are timing, are also compiled.
Open the ../../docs/library_index.html#timeout link in a web browser.
To load all entities in this library, load the
| ?- logtalk_load(timeout(loader)).
To test this library predicates, load the
| ?- logtalk_load(timeout(tester)).
Two tests are currently skipped when using the SWI-Prolog backend as
they cannot be interrupted and generate the expected timeout exceptions
due to tests being run from an
initialization/1 directive goal that,
in the SWI-Prolog, implementation of this directive, ignores signals.
The test goals do generate the expected timeout exception when not
called from an