use std::rc::Rc; use parsing::AST; pub struct ReducedAST(pub Vec); pub enum Stmt { Binding { name: Rc, expr: Expr, }, Expr(Expr), } pub enum Expr { Literal(Lit), Func(Func), Call { f: Func, args: Vec, }, } pub enum Lit { Int(u64), Bool(bool), StringLit(Rc), } pub struct Func { params: Vec>, body: Vec, } pub fn perform_ast_reduction(input: &AST) -> Result { Ok(ReducedAST(vec![])) }