Haskell算术表达式求值和变量赋值



我有一个名为expr的数据类型如下:

data Expr = C Float | Expr :+ Expr | Expr :- Expr | Expr :* Expr| Expr :/ Expr

我想做的是扩展Expr数据类型,以允许变量和'let'表达式

您需要在传统上称为"环境"的环境中传递活动绑定:

evaluate :: Environment -> Expr -> Float

有许多表示环境的方法。
您需要两个操作:查找绑定以获取值,并使用新绑定扩展它。

lookup :: Environment -> String -> Float
extend :: Environment -> String -> Float -> Environment

将实现留作练习。

相关内容

  • 没有找到相关文章