Here it is:
I have added the “Rollback” action and the “Decision Lozenge” on redo. The latter seems really necessary to account for the ability to have deterministic and semi-deterministic predicates. Or is done differently?
Here it is:
I have added the “Rollback” action and the “Decision Lozenge” on redo. The latter seems really necessary to account for the ability to have deterministic and semi-deterministic predicates. Or is done differently?
SWI-Prolog always creates a choice point for a call when in debug mode. That allows for retry. It also kills LCO. Often that is what you want during debugging. These debug choicepoints are not shown by the A
command (and also not by the graphical debugger).
Don’t forget that unification of an attributed variable can “insert” a new goal at various points in the diagram.
Also that there are non-backtracking predicates (nb_setval/2 et al) that are unaffected by “rollback” …
The following link is dead.
I found this one instead.