packages feed

calculator-0.1.3.0: src/Calculator/Evaluator/Cmd.hs

module Calculator.Evaluator.Cmd (evalCmd) where

--------------------------------------------------------------------------------

import Calculator.Prim.Expr (Bindings, def_vars, fromConst)
import Calculator.Prim.Cmd (Cmd(..))
import Calculator.Evaluator.Expr (evalExpr)

--------------------------------------------------------------------------------

evalCmd :: Bindings -> Cmd -> Bindings
evalCmd _ (Reset)      = def_vars
evalCmd b (Assign s e) = (s, fromConst $ evalExpr b e) : b

--------------------------------------------------------------------------------