- is_pure_pred(:Pred, :IsImpure) is semidet
- Succeeds if the predicate is free of literals that makes IsImpure succeed,
that is, calls to IsImpure fails for at least one of the dependent
predicates. If IsImpure is is_impure/1, it tests that the predicate is a
pure-prolog one, that is, it does not have side-effects and only consists of
calls to interpreted predicates and trivial built-ins like true or false.
Fails otherwise or if it is unable to determine it.
- is_pure_clause(Ref) is semidet
- Succeeds if the clause referenced by Ref has been implemented using only
pure-prolog predicates.
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
- is_pure_pred(Arg1)
- is_pure_body(Arg1)
- is_pure_body(Arg1, Arg2)
- is_impure(Arg1)