mini_kanren
macro_rules! condu { ($g0:expr, $($g:expr),+;) => { ... }; ($g0:expr;) => { ... }; ($g0:expr, $($g:expr),+; $($rest:tt)*) => { ... }; ($g0:expr; $($rest:tt)*) => { ... }; }
Condu! behaves like conda!, except that a successful line succeeds only once.
Condu!
conda!