syndicate-rs/src/main.rs

62 lines
2.0 KiB
Rust
Raw Normal View History

2018-12-09 13:28:01 +00:00
mod term;
mod bag;
mod skeleton;
use self::term::Term;
use self::skeleton::Index;
// Ord
// Hash
fn main() {
let capture_label = Term::Symbol("capture".to_string());
let discard_label = Term::Symbol("discard".to_string());
let v2 = Term::Double(1234.56);
let v = Term::Seq(vec![
Term::Boolean(true),
Term::Float(123.34),
v2.clone(),
Term::SignedInteger(999),
Term::SignedInteger(-101),
Term::String("hello".to_string()),
Term::ByteString("world".as_bytes()),
Term::Symbol("sym".to_string()),
Term::Rec(&capture_label, vec![
Term::Rec(&discard_label, vec![]),
]),
]);
let v3 = Term::Double(1234.57);
println!("v = {:?}", v);
println!("v[2] = {:?}", v[2]);
println!("v == v = {:?}", v == v);
println!("v3 == v = {:?}", v3 == v);
println!("v[2] == v3 {:?}", v[2] == v3);
println!("v[2] == v2 {:?}", v[2] == v2);
println!("v[2] < v3 {:?}", v[2] < v3);
println!("v[2] < v2 {:?}", v[2] < v2);
println!("v[2] > v3 {:?}", v[2] > v3);
println!("v[2] > v2 {:?}", v[2] > v2);
println!("v[2] <= v3 {:?}", v[2] <= v3);
println!("v[2] <= v2 {:?}", v[2] <= v2);
println!("v[2] >= v3 {:?}", v[2] >= v3);
println!("v[2] >= v2 {:?}", v[2] >= v2);
println!("v == v3 {:?}", v == v3);
println!("v == v2 {:?}", v == v2);
println!("v < v3 {:?}", v < v3);
println!("v < v2 {:?}", v < v2);
println!("v > v3 {:?}", v > v3);
println!("v > v2 {:?}", v > v2);
println!("v <= v3 {:?}", v <= v3);
println!("v <= v2 {:?}", v <= v2);
println!("v >= v3 {:?}", v >= v3);
println!("v >= v2 {:?}", v >= v2);
println!("v[8].label() = {:?}", v[8].label());
println!("v[8].len() = {:?}", v[8].len());
println!("v[8][0] = {:?}", v[8][0]);
println!("v[8][0].label() = {:?}", v[8][0].label());
println!("v[8][0].len() = {:?}", v[8][0].len());
println!("v.len() = {:?}", v.len());
let i = Index::new();
}