Miscellaneous predicates
Author(s): Manuel Carro, Daniel Cabeza.
This module implements some miscellaneous non-logical (but sometimes very useful) predicates.
Usage and interface
Documentation on exports
PREDICATE
Usage:setarg(Index,Term,NewArg)
Replace destructively argument Index in Term by NewArg. The assignment is undone on backtracking. This is a major change to the normal behavior of data assignment in Ciao Prolog.
- The following properties should hold at call time:
(term_typing:integer/1)Index is currently instantiated to an integer.
(basic_props:struct/1)Term is a compound term.
(basic_props:term/1)NewArg is any term.
PREDICATE
Usage:undo(Goal)
call(Goal) is executed on backtracking. This is a major change to the normal control of Ciao Prolog execution.
- The following properties should hold at call time:
(basic_props:callable/1)Goal is a term which represents a goal, i.e., an atom or a structure. - The following properties should hold upon exit:
(basic_props:callable/1)Goal is a term which represents a goal, i.e., an atom or a structure.