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
分解構文を使用すると、アイテムをスコープに入れることができない理由はありますか?