#dsl #logic #kanren

mini-kanren

miniKANREN在Rust中

10个不稳定版本 (3个破坏性版本)

0.4.0 2021年1月17日
0.3.5 2021年1月17日
0.2.2 2021年1月9日
0.1.0 2021年1月9日

#1516 in 数学

每月下载量37次

MIT/Apache

79KB
2K SLoC

miniKANREN

这是miniKANREN在Rust中的实现。

语法映射

最初,miniKANREN是在Scheme中以DSL的形式实现的,继承了Scheme的S表达式语法。

这个crate将miniKANREN实现为Rust中的DSL,具有明显不同的语法。

下表展示了如何从一种映射到另一种

Scheme Rust
(run*q(==q1)) run!(*,q, eq(q, 1))
(conj a b c) conj!(a,b,c)
(disj a b c) disj!(a;b;c)

lib.rs:

Rust实现miniKANREN关系逻辑语言。

无运行时依赖