I found this code on the front page of the Yesod project:
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
What language features are used in [$parseRoutes|/ Home GET|]
and [$hamlet|%h1 Hello World|]
to get the $, |, / and % symbols working, and what do the symbols do?