在[$ parseRoutes | / Home GET |]中使用了什么样的Haskell语法?

我在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|]
使用了哪些语言功能来使$,|,/和%符号起作用,这些符号的作用是什么?     
已邀请:
那些将是Quasiquotation。这是一种使用Template Haskell将另一种语言嵌入Haskell的方法。 quasiquotes的parseRoutes和hamlet定义了如何解析和解释括号内的内容[$ FOO | ......]上面链接中的更多细节。     

要回复问题请先登录注册