The newest release 0.8.5 of Jekejeke Prolog serves the purpose of a
functional upgrade. Various functions have been newly added and errors
in existing functions have been fixed. The compatibility with the ISO
core standard has been check by means of an appropriately created test
suite. In the following we will present the results of this check in
more detail.
Compared to the previous release many new functions could be added.
We could succeed in adding DCGs, set predicates and bitwise operations
to the system. Further we could some problems in connection with the
logical operations. Nevertheless our system does not yet cover the full
functionality of the ISO core standard. The following predicates and
evaluable functions have not yet been implemented:
| Type | Group | Count |
|---|---|---|
| Predicate |
Atomic term processing |
6 |
| Predicate | Term input/output |
6 |
| Predicate | Byte input/output |
6 |
| Predicate | Character input/output |
10 |
| Predicate | Stream selection and control |
13 |
| Predicate | Directives | 5 |
| Evaluable function |
Trigonometric | 7 |
| Total | 53 |
To check the compatibility between the existing functions and the ISO core standard we have created a test suite. The sources for our test cases in the suite were the examples from the ISO core standard. We could extract ca. 500 test cases from the examples. The test cases are executed by the test tool that is integrated into Jekejeke Prolog. The following bar chart shows the result group by the Jekejeke Prolog theories:

In the average 8.1% of the test cases failed. Relatively seen the most test cases failed for the “consult” theory with 20.2%. The fewest test cases failed in the “structure” theory with 3.7%. The results are very promising, since they show that we would not have a very long path ahead for full ISO compliance. There were no test case failures which we could not explain.
We have analysed the failures into a set of findings. Some findings
we see as errors that need fixing. For other findings we have doubt
that the ISO core standard has made the right choice. For these
findings we will try to preserve the Jekejeke Prolog functionality via
some flags. The full report of our compatibility test can be downloaded
from the web site www.jekejeke.ch.
Until we reach full ISO
compatibility we will continue the beta-test program.