@@ -1,18 +1,18 @@
1−{-# LANGUAGE QuasiQuotes #-}
1+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}
22
33import Control.Monad (msum)
44import Happstack.Server
5−import Language.Elm (elmFile, elm)
6−
7−import qualified Language.Elm as Elm
5+import Language.Elm
6+import Language.Elm.Quasi
87
98elmLoc :: String
109elmLoc = "http://f.cl.ly/items/2e3Z3r3v29263U393c3x/elm-min.js"
1110
12−elmResponse :: String -- ^ Page title
13− -> String -- ^ elm source
11+elmResponse :: ElmSource a
12+ => String -- ^ Page title
13+ -> a -- ^ elm source
1414 -> Response
15−elmResponse title = toResponse . Elm.toHtml elmLoc title
15+elmResponse title = toResponse . toHtml elmLoc title
1616
1717-- embedding variables (in this case URLs)
1818rootHandler :: ServerPart Response
@@ -21,16 +21,16 @@ rootHandler = ok $ elmResponse "Welcome!" $ elmIndex
2121 mouse = "/mouse"
2222 clock = "/clock"
2323 shapes = "/shapes"
24− elmIndex = [elmFile|elm_source/index.elm|]
24+ elmIndex = $(elmFile "elm_source/index.elm")
2525
2626-- loading elm source from file
2727
2828mouseHandler :: ServerPart Response
29−mouseHandler = ok $ elmResponse "Mouse position demo" $
30− [elmFile|elm_source/mouse.elm|]
29+mouseHandler = ok $ elmResponse "Mouse position demo"
30+ $(elmFile "elm_source/mouse.elm")
3131
3232clockHandler :: ServerPart Response
33−clockHandler = ok $ elmResponse "A clock" $ [elmFile|elm_source/clock.elm|]
33+clockHandler = ok $ elmResponse "A clock" $(elmFile "elm_source/clock.elm")
3434
3535-- embedding elm code inside Haskell using the QuasiQuoter:
3636shapesPage = [elm|