chickadee » mini-kanren » conde

(conde (goal0 goal ...) (goal0^ goal^ ...) ...)syntax

Conditional performing logical disjunction over each set of (goal0 goal ...) clauses. The first goal in each clause (i.e. goal0 or goal0^) is considered the head of that clause. Behaves similarly to cond in regular Scheme, except that each clause provides one possible path to unification through the subsequent goals.

In the first edition of miniKanren, conde was separate from condi, which is no longer provided as part of the language. conde now interleaves each of the possible clauses on recursive calls, so condi (which used to stand for interleaving-conditional) is no longer needed.