Какой тип синтаксиса Haskell используется в [$ parseRoutes | / Home GET |]? - PullRequest
6 голосов
/ 20 июля 2010

Я нашел этот код на первой странице проекта 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|] для работы символов $, |, / и%, и что делают символы?

1 Ответ

17 голосов
/ 20 июля 2010

Это будет Квазиквотация . Это способ использовать шаблон Haskell для встраивания другого языка в Haskell. ParseRoutes и хамлет квазиквот определяют, как анализировать и интерпретировать то, что находится внутри скобки ...] Еще много подробностей по ссылке выше.

...