ANN: Dogelog Player 1.3.5 (Cyclic Terms)

Dear All,

We are happy to announce a new edition of the Dogelog Player:

- Enhanced Core:
We provide internally unify_cyclic() which implements Hopcroft & Karp (1971) algorithm and can deal with cyclic terms. It is accessible via the built-in predicate (=)/2 and also used by the Prolog interpreter for solving clauses. Similar there is an enhanced (==)/2 available to the end-user.

- Enhanced library(tools):
The debugger is now cyclic term aware and uses a term factoring based on a new same_term/2 before printing a goal. The display is simply a conjunction Equation_1, .., Equation_n, Goal, where the equations are necessary to break cycles. As before Prolog variables are still printed by their serial number.

- Enhanced library(session):
The answer display is now cyclic term aware and uses the same term factoring as the debugger. Answer substitutions and cycle breaking equations are interspersed. We tried hard to not break old features, such as fresh singleton variable names, fresh multiton variable names and marked variables suppression.

Have Fun!