$() 结构是什么?
What is the $() construct?
我一直试图在Haskell参考中找到这个的用法:
getHomeR = defaultLayout $ do
setTitle "My Awesome Site"
$(widgetFile "home")
具体来说:
$(widgetFile "home")
我知道 $ 运算符优先于它右边的任何内容,但我一直无法理解 $() 的用法。有人吗?
这不是使用 $
应用程序运算符,而是涉及 Template Haskell slice。
非常粗略地说,widgetFile "home"
是 编译时 运行 的代码 :它生成 Haskell 代码,然后编译为通常。它是 Haskell 中的 metaprogramming 的一种形式。
我一直试图在Haskell参考中找到这个的用法:
getHomeR = defaultLayout $ do
setTitle "My Awesome Site"
$(widgetFile "home")
具体来说:
$(widgetFile "home")
我知道 $ 运算符优先于它右边的任何内容,但我一直无法理解 $() 的用法。有人吗?
这不是使用 $
应用程序运算符,而是涉及 Template Haskell slice。
非常粗略地说,widgetFile "home"
是 编译时 运行 的代码 :它生成 Haskell 代码,然后编译为通常。它是 Haskell 中的 metaprogramming 的一种形式。