Crates.io | logic-lang |
lib.rs | logic-lang |
version | 0.0.2 |
source | src |
created_at | 2023-02-10 13:00:20.941835 |
updated_at | 2023-02-21 10:57:37.379939 |
description | structural logic based on equivalence graphs |
homepage | https://logic-lang.github.io |
repository | https://github.com/logic-lang/logic/ |
max_upload_size | |
id | 781838 |
size | 16,871 |
Logic is a modern structural logic library based on equivalence graphs. It allows defining a (term-based) language as an abstract syntax tree (AST) associated with rewriting rules expressing equivalence relations. Applying rules using equality saturation is performed by a three-stages process based on different "intermediate representations (IRs)".
Note: this is an exploratory project.
An extensive tutorial is currently under construction, but you can still read the documentation for the latest version or browse the sources.
It is recommanded to use nightly Rust but Logic should build just fine on stable (MSRV 1.69).
The standard cargo fmt
, clippy
, test
and bench
workflow is available.