Что такое конструкция $()?
Я пытаюсь найти в ссылке Haskell использование этого:
getHomeR = defaultLayout $ do
setTitle "My Awesome Site"
$(widgetFile "home")
В частности:
$(widgetFile "home")
Я знаю, что оператор $дает приоритет тому, что справа от него, но я не смог понять использование $(). Кто-нибудь?
Ответы
Ответ 1
Это не используется оператор приложения $
, но включает в себя фрагмент шаблона Haskell.
Очень грубо, widgetFile "home"
- это код, который запускается во время компиляции: он генерирует код Haskell, который затем компилируется, как обычно. Это форма metaprogramming в Haskell.