Did you know ... | Search Documentation: |
Pack ciao -- prolog/dialect/ciao/engine/exceptions.pl |
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
This predicate is related to catch/3, but rather than aborting the execution of Goal and running Handler it continues the execution of Goal. This construct is also related to delimited continuations (see reset/3 and shift/1). It only covers one (common) use case for delimited continuations, but does so with a simpler interface, at lower overhead and without suffering from poor interaction with the cut.
Note that Ball and Handler are copied before calling the (copy) of Handler to avoid instantiation of Ball and/or Handler which can make a subsequent signal fail.
The following predicates are exported, but not or incorrectly documented.