---setVariableValue :: (MonadState Variables m) => Ident -> Exp -> m Value
---setVariableValue :: (MonadState Variables m) => Ident -> Exp -> m Value
-
-setVariableValue :: Ident -> Exp -> StateT State IO Value
-setVariableValue i e = do
- v <- eval e
- state <- get
- modify (\s -> s{variables= updateVariable i v $ variables state} )
+setVariableValue :: (MonadState State m) => Ident -> Value -> EvalM m Value
+setVariableValue i v = do
+ modify (\s -> s{variables= updateVariable i v $ variables s} )