mod error; mod parser; use std::rc::Rc; use crate::span::Spanned; pub use error::Error; pub use parser::Parser; #[derive(Clone, Debug)] pub enum Atom { Float(f64), Integer(i64), String(Rc), Symbol(Rc), Bool(bool), Nil, } #[derive(Clone, Debug)] pub enum Expr { Atom(Atom), List(Vec>), } #[derive(Clone, Debug)] pub struct Program(pub Vec>);