2

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

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

4

1 に答える 1