[][src]Crate mini_kanren

Rust implementation of the miniKANREN relational logic language.

Modules

core

Core data structures and logic algorithms

goals

Library of goals

macros

Macros for embedding miniKANREN as DSL in Rust

prelude

Macros

conda

Creates a goal that succeeds if any of its lines succeeds. Only the first line that succeeds can contribute values.

conde

Creates a goal that succeeds if any of its lines succeeds. Every successful line contributes one or more values.

condu

Condu! behaves like conda!, except that a successful line succeeds only once.

conj

Creates a goal that succeeds if all of its subgoals succeed

defrel

Define a relation. A relation is a function that creates a goal.

disj

Creates a goal that succeeds if any of its subgoals succeeds

fresh

Bind fresh variables with scope inside the body of fresh!.

list

Constructs a cons list.

run

Run one or more goals.

substitution

Construct a substitution