File "kbrefs"
The knowledge base is seen as a sequenced collection of clause
references that have also an existence when not asserted. While
predicates such as clause/3 and erase/1 are often found in other
Prolog systems as well. The other predicates are usually not
exposed and rather specific to the Dogelog Player Prolog system.
The following kbrefs predicates are provided:
- clause(H, B, C):
- The predicate succeeds with the asserted clauses that unify H
:- B, and succeeds in C with their clause references.
- erase(C):
- The predicate succceeds if the clause referenced by C is
asserted. As a side effect the clause referenced by C is
removed.
- compile(D, C):
- The predicate succeeds in C with a new clause reference for
the clause D.
- compiled(C, H, B):
- The predicate succeeds with the clause H :- B referenced by C.
- recorda(C):
- The predicate succeeds. As a side effect, the clause
referenced by C is inserted at the top.
- recordz(C):
- The predicate succeeds. As a side effect, the clause
referenced by C is inserted at the bottom.