Crate ukanren

Crate ukanren 

Source
Expand description

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

Macros§

state
Convenience macro for making state objects using the ToValue trait.

Structs§

BoxedGoal
A boxed goal for type erasure, constructed from Goal::boxed.
State
The current variable state of the miniKanren interpreter.

Enums§

Value
An object in µKanren that can be unified.

Traits§

Atom
Trait representing an atomic type.
Fresh
Trait for closures that can take fresh variables.
Goal
A goal that can be executed by the relational system.
ToValue
A type that can be converted to a value.

Functions§

cons
Construct a cons cell from two values.
delay
Goal that introduces inverse-η delay to handle infinite streams.
eq
Goal for unifying two values.
fresh
Goal that introduces one or more fresh relational variables.
list
Construct a list out of cons cells.
run
Top-level entry point for running a goal with fresh variables.