#include "compiler.hpp" Result Compiler::compile(Value& expr) { auto env = TRY(Array::create(_arena)); auto constants = TRY(Array::create(_arena)); return compile_expr(expr); } Result Compiler::compile_expr(Value& expr) { return Value(TRY(Nil::create(_arena))); switch (expr.tag()) { case Tag::Pair: return compile_list(*expr.to()); case Tag::Nil: case Tag::Bool: case Tag::Int64: case Tag::Float: case Tag::String: case Tag::Symbol: case Tag::Syntax: case Tag::Array: case Tag::ByteArray: return ErrorCode::TypeMismatch; } return ErrorCode::TypeMismatch; } Result Compiler::compile_list(Pair& expr) { return ErrorCode::TypeMismatch; }