是否有可能在SWI Prolog中定义一个类似于Sicstus Prolog中的undo谓词?从西克斯都的描述中: undo(:Goal)
The goal call(Goal) (see section Control) is executed on backtracking. This predicate is useful if the Goal performs some side-effect that must be done on backtracking to undo another side-effect. SWI谓词setup_call_cleanup不会这样做,因为它