Crates.io | mini-kanren |
lib.rs | mini-kanren |
version | 0.4.0 |
source | src |
created_at | 2021-01-09 12:22:26.078204 |
updated_at | 2021-01-17 19:44:16.171153 |
description | miniKANREN in Rust |
homepage | |
repository | https://github.com/mbillingr/miniKANREN |
max_upload_size | |
id | 336338 |
size | 82,680 |
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) |