use crate::{BlockId, Call, Expression, Operator, Signature, Span, VarId}; #[derive(Debug, Clone)] pub enum Expr { Bool(bool), Int(i64), Float(f64), Var(VarId), Call(Box), ExternalCall(Vec, Vec>), Operator(Operator), BinaryOp(Box, Box, Box), //lhs, op, rhs Subexpression(BlockId), Block(BlockId), List(Vec), Table(Vec, Vec>), Keyword(Vec, Span, Box), String(String), // FIXME: improve this in the future? Signature(Box), Garbage, }