[−][src]Macro mini_kanren::run
Run one or more goals.
The syntax run!(n, var(s), goal1, goal2, ...)
produces at most n
solutions in Scheme you wold write (run n var(s) goal1 goal2 ...)
.
The syntax run!(*, var(s), goal1, goal2, ...)
produces all
solutions in Scheme you wold write (run* var(s) goal1 goal2 ...)
.
The latter may result in an infinite recursion which eventually
crashes with a stack overflow.
We support an additional syntax run!(var(s), goal1, goal2, ...)
that returns a (possibly infinite) iterator over all solutions.