2010-07-19 12 views
6

znalazłem ten kod na przedniej stronie projektu 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 

Jakie cechy językowe są wykorzystywane w [$parseRoutes|/ Home GET|] i [$hamlet|%h1 Hello World|] dostać $, |,/i% symbole pracy, a co zrobić symbole zrobić ?

Odpowiedz

17

Ci będzie Quasiquotation. Jest to sposób na użycie szablonu Haskella do osadzenia innego języka w Haskell. Queryquotes "parseRoutes i hamlet" definiują sposób analizowania i interpretowania zawartości nawiasów [$ FOO | ...]. Wiele więcej szczegółów pod linkiem powyżej.

Powiązane problemy