4 releases
0.2.0 | Nov 7, 2019 |
---|---|
0.1.2 | Nov 4, 2019 |
0.1.1 | Jul 10, 2019 |
0.1.0 | Jun 28, 2019 |
#26 in #fact
Used in clingo
13KB
272 lines
clingo_derive
This crate provides the derive macro for the clingo::ToSymbol
trait.
Datatypes that implement this trait can be added to a clingo::FactBase
In your Cargo.toml
add:
[dependencies]
clingo = { version = "0.6", features = ["derive"] }
In your source write:
use clingo::ToSymbol;
use clingo::ClingoError;
use clingo::FactBase;
#[derive(ToSymbol)]
struct Point {
x: i32,
y: i32,
}
let p = Point{ x:4, y:2 };
let fb = FactBase::new();
fb.insert(p);
The macro performs a conversion to snake case. This means the corresponing fact for MyPoint{x:3,y:2}
is my_point(3,2)
.
Dependencies
~2MB
~50K SLoC