mini_kanren
macro_rules! defmatch { ($(#[$outer:meta])* pub $name:ident($($args:ident),*) { $($body:tt)* }) => { ... }; ($(#[$outer:meta])* $name:ident($($args:ident),*) { $($body:tt)* }) => { ... }; }
Define a relation. A relation is a function that creates a goal.