Jekejeke Prolog 1.4.7 (Occurs Check)
Jan Burse, created Jan 26. 2021
We just uploaded a new release of Jekejeke Prolog. The following major improvements are provided:
- Occurs Check:
There is now a Prolog flag occurs_check that can be set to true to enable the occurs check during unification. The intermediate code of Jekejeke Prolog contains a new instruction unify_linear which can optimize away the occurs check, even when it is switched on.
- Module "lists":
A conflict with the module "sets" was resolved by prefixing the predicates from the module "sets" with eq_. We then added a couple of new ground list predicates such as union/3, subtract/3, subset/2, etc.. for better compatibility with SWI-Prolog.
- Closure Expansion:
Since we discontinued Prolog dicts, we also discontinued the specialized function expansion. As a replacement we introduced closure expansion as found in SWI-Prolog. Closure expansion also works in the top-level and for evaluable functions.
Happy coding! #StaySafe