This is a Rust implementation of miniKANREN.
Originally, miniKANREN was implemented as a DSL in Scheme, inheriting Scheme's S-expression syntax.
This crate implements miniKANREN as a DSL in Rust, with obviously different syntax.
The table below illustrates how to map from one to the other:
| Scheme | Rust |
| -------------------------- | --------------------------- |
| (run* q (== q 1))
| run!(*, q, eq(q, 1))
|
| (conj a b c)
| conj!(a, b, c)
|
| (disj a b c)
| disj!(a; b; c)
|