1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
extern crate ordered_float; use std::collections::{BTreeMap, BTreeSet}; use ordered_float::OrderedFloat; pub mod parser; #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] pub enum Value { Nil, Boolean(bool), String(String), Char(char), Symbol(String), Keyword(String), Integer(i64), Float(OrderedFloat<f64>), List(Vec<Value>), Vector(Vec<Value>), Map(BTreeMap<Value, Value>), Set(BTreeSet<Value>), Tagged(String, Box<Value>), }