Jekejeke Prolog 1.5.0 (Dynamic Freshness)

Jan Burse, created Mar 22. 2021 Dear All, We just uploaded a new release of Jekejeke Prolog. The following major improvements are provided: - Dynamic Freshness: We rolled back the static compilation of unify_linear instructions to optimize away the occurs check. Instead the Prolog interpreter now uses a dynamic runtime heuristic, so that it can decide whether a variable is fresh. Slightly faster and little bit more versatile. - var/1 Indexing: We noticed that var/1 indexing was also applied to dynamic predicates and could result in omitted clauses. var/1 Indexing is now only applied to static predicates and as before, ISO core standard compliant, we do not allow clause/2 for static predicates. - Rule Listing: There are new predicates sys_rule/3 and sys_rule_ref/4 which allow access to the internal getList() which can retrieve the clauses of a static predicate. Thanks to these predicates listing/[0,1] and friends are now written in Prolog itself. Happy coding! #StaySafe Android Appstores: Google Play Download: Jekejeke Runtime