Dear All,
We just uploaded a new release of Jekejeke Prolog. We
introduced hiearchical knowledge bases. They have
different aspects:
- Class Loader Aspect:
Knowledge bases can now be organized in hierarchies via
a parent link like this is known from Java class
loaders. Each knowledge base carries class paths and
stores the corresponding static predicates which can
then be shared by knowledge bases down in the hierarchy.
- Thread Group Aspect:
Each knowledge base also serves as a thread group. The
state of dynamic predicates is now organized as a
thread group local state. In as far each knowledge
base provides a data silo that protects agains threads
running in other knowledge bases but from the
same hierarchy.
- GUI Aspect:
In the programming API the new feature is seen by a
new constructor for the Java class Knowledgebase with
a parent link as an argument. The Swing GUI does this
now automatically and creates a new additional
knowledge base for all the threads of a
console window.
We did not yet implement the GUI aspect for Android.
The current knowledge base stack can be inspected by
the new command kbs/0. As a canary in the coalmine
we have already our sales system
www.jekejeke.ch
which now uses a hierarchy.
Happy coding!
Jan Burse, 10.06.2018
http://www.jekejeke.ch/