Module store

Since recently we have introduce hierarchical knowledge bases. They are already used in the Swing GUI, but not in the Android GUI. Every Swing console window runs in its own sub knowledge base which provides a separate class loader. The current knowledge base stack can be listed by the store/0 command:

Example, in Swing GUI:
?- stores.
Example, in Android GUI:
?- stores.

Knowledge base properties can be query by the predicate store_property/2. The predicates set_store_property/2 and reset_store_property/2 serve updating knowledge base properties. The predicate current_store/1 can be used to enumerate the managed knowledge bases.

The following predicates for stores are provided:

store_property(F, P):
The predicate succeeds for the properties P of the store F.
set_store_property(S, Q):
The predicate assigns the property Q to the store S.
reset_store_property(S, Q):
The predicate de-assigns the property Q from the store S.
The predicate succeeds in T with the managed knowledge bases.
The predicate lists the store chain of the current thread.