Jekejeke Prolog 1.4.0 (simple tabling)
Jan Burse, created Aug 21. 2019, modified Jun 10. 2020
We just uploaded a new release of Jekejeke Prolog. The following major improvements are provided:
- JDK 9 and above: This is a first release where we commit ourselves to JDK 9 and above as a platform for Jekejeke Prolog, since it provides good parallel execution. To run the interpreter on this platform currently the following Java options are needed:
java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED <args>
- Module "aggregate": The existing library(advanced/aggregate) now supports parametric aggregate functions. We find first(Order,Var) and last(Order,Var) to select the least and greatest element. And we find reduce(Identity,BinaryOp,Var) to perform an arbitrary sum.
- Module "tabling": This new library(advanced/tabling) provides a table/1 directive. The directive either takes a predicate indicator for ordinary tabling or a callable designating aggregate functions for mode directed tabling.
Tabling execution is currently sequential, so there is only one bee in the hive. Also we do not yet provide fixpoint computation. We might add corresponding features in the future.