We provided a tabling directive, not using anything more than the ISO core standard and its dynamic predicates. The library is competitive to other Prolog systems for Datalog problems. For non-Datalog problems with large ground terms the hash index option will use fast pre-calculated hashes. The tabling mechanism can then exhibit emergent local interning.
The current version does not yet realize tabling of non-wellfounded recursion. We are currently deliberating what type of method we should use to solve the recursion. When predicates are encountered that are part of non-wellfounded recursion, the behaviour of the library is currently undefined, it might loop or give incomplete results.
The following silkworm predicates are provided: