マニュアルhttp://www.yesodweb.com/book/shakespearean-templatesには、「リストをループする-カバーしました」とだけ書かれています。そのステートメントの「リスト」の正確なセマンティクスがわかりません。
「型の任意の haskell 式」ではない[something]
: 書けない
main = putStrLn $ renderHtml [shamlet|
<ul>
$forall x <- reverse [ False, True ]
<li>#{x}
|]
リテラル リスト (角括弧内、コンマで区切られた要素) である必要があるようですが、有効なリスト要素とは正確には何ですか?
数値リテラルである可能性があります-少なくとも以下はスプライシングを介して作成します
main = putStrLn $ renderHtml [shamlet|
<ul>
$forall x <- [ 0, 1 ]
<li>#{ x }
|]
しかし、(私が思うに) 数値リテラルは多態的であるため、コンパイラはそれを好みません。通常の修正は、型シグネチャをどこかに置くことです。しかしここで?