Crate ukanren[][src]

Expand description

An implementation of the µKanren relational programming system in Rust.


Convenience macro for making state objects using the ToValue trait.


A boxed goal for type erasure, constructed from Goal::boxed.

The current variable state of the miniKanren interpreter.


An object in µKanren that can be unified.


Trait representing an atomic type.

Trait for closures that can take fresh variables.

A goal that can be executed by the relational system.

A type that can be converted to a value.


Construct a cons cell from two values.

Goal that introduces inverse-η delay to handle infinite streams.

Goal for unifying two values.

Goal that introduces one or more fresh relational variables.

Construct a list out of cons cells.

Top-level entry point for running a goal with fresh variables.