Did you know ... Search Documentation:
Pack logicmoo_utils -- prolog/logicmoo/each_call.pl
PublicShow source

Before a clause does a redo it allows code to be called. To execute between calls during backtracking. Allows us to put code before and after a clause.

Utility LOGICMOO_EACH_CALL_CLEANUP Works together with Each Call to allow code before and after a clause for backtracking.

  • @author Douglas R. Miles
  • @license LGPL
See also
- https://groups.google.com/forum/#!searchin/comp.lang.prolog/redo_call_cleanup%7Csort:relevance/comp.lang.prolog/frH_4RzMAHg/2bBub5t6AwAJ
 redo_call_cleanup(:Setup, :Goal, :Cleanup)
@warn Setup/Cleanup do not share variables. If that is needed, use each_call_cleanup/3
 each_call_catcher_cleanup(:Setup, :Goal, +Catcher, :Cleanup)
Call Setup before Goal like normal but also before each Goal is redone. Also call Cleanup each time Goal is finished @bug Goal does not share variables with Setup/Cleanup Pairs
 each_call_cleanup(:Setup, :Goal, :Cleanup)
Call Setup before Goal like normal but also before each Goal is redone. Also call Cleanup each time Goal is finished @bug Goal does not share variables with Setup/Cleanup Pairs

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

 trusted_redo_call_cleanup(Arg1, Arg2, Arg3)