【发布时间】:2014-06-30 18:02:22
【问题描述】:
考虑:
data Expr a
= V a
| Lit Integer
| Let (Expr a) (Expr (Maybe a))
deriving (Eq,Show)
Let 构造函数使我能够绑定一个表达式(第一个 arg),以便在第二个(V Nothing 引用它)中引用它。
如果我这样做
Let (Lit 3) $ Let (Lit 1) $ Var Nothing
Var Nothing 指的是哪个Lit?此外,我想将其概括为
一次绑定多个,我不知道该怎么做。我从优秀的 Edward Kmett bound 包中学习了一些示例,但现在我既困惑又迷茫。
【问题讨论】:
标签: haskell abstract-syntax-tree name-binding