module Calculator.Evaluator.Statement (evalStat) where -------------------------------------------------------------------------------- import Calculator.Evaluator.Cmd (evalCmd) import Calculator.Evaluator.Expr (evalExpr) import Calculator.Prim.Expr (Bindings, Expr) import Calculator.Prim.Statement (Statement (..)) -------------------------------------------------------------------------------- evalStat :: Bindings -> Statement -> Either Expr Bindings evalStat b stat = case stat of Expression e -> Left $ evalExpr b e Command c -> Right $ evalCmd b c --------------------------------------------------------------------------------