【发布时间】:2013-10-02 18:12:01
【问题描述】:
在 Yesod 中,在路由处理程序中使用 whamletFile 函数时,我在 $forall 构造中解构记录时遇到问题。
我有这个数据记录:
data Foo a = Foo (a, Int, Int)
在 hamlet 模板文件中,我遍历 [Foo] 的一个实例并尝试使用解构语法:
$forall (Foo (a, b, c)) <- foos
<li>#{a}
编译时出现此消息Not in scope: 'a' 失败
虽然这不会失败并且会适当地处理 forall 构造:
$forall (Foo (a, b, c)) <- foos
<li>nothing special
知道为什么使用解构语法无法将项目纳入范围吗?
【问题讨论】: