6

Yesod プロジェクトのフロント ページで次のコードを見つけました。

import Yesod
data HelloWorld = HelloWorld
mkYesod "HelloWorld" [$parseRoutes|/ Home GET|]
instance Yesod HelloWorld where approot _ = ""
getHome = applyLayout [$hamlet|%h1 Hello World|]
main = toWaiApp HelloWorld >>= basicHandler 3000

$、|、/、および % 記号を機能させるために、どのような言語機能が使用されて[$parseRoutes|/ Home GET|]いますか?また、記号は何をしますか?[$hamlet|%h1 Hello World|]

4

1 に答える 1

17

それらはQuasiquotationになります。Template Haskell を使用して別の言語を Haskell に埋め込む方法です。quasiquotes 'parseRoutes と hamlet は、ブラケット [$FOO|] 内にあるものを解析および解釈する方法を定義します。...]。上記のリンクに詳細が多数あります。

于 2010-07-20T00:06:36.120 に答える