web-applications – 在[$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 | ……]上面链接中的更多细节.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些