calculator-0.1.3.0: src/Calculator/Evaluator/Statement.hs
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
--------------------------------------------------------------------------------