Canrun is a logic programming library inspired by the *Kanren family of language DSLs.
Status: Exploratory and Highly Experimental
I'm still quite new to both Rust and logic programming, so there are likely to be rough edges. At best the goal is to be a useful implementation of the core concepts of a Kanren in way that is idiomatic to Rust. At worst it may just be a poor misinterpretation with fatal flaws.
Quick Start
use ;
use I32;
let x = var;
let y = var;
let goal: = both;
let result: = goal.query.collect;
assert_eq!