@@ -1,19 +1,16 @@
1{-# LANGUAGE QuasiQuotes, TemplateHaskell, OverloadedStrings, TypeFamilies, MultiParamTypeClasses #-}
1{-# LANGUAGE QuasiQuotes, TemplateHaskell, OverloadedStrings, TypeFamilies, MultiParamTypeClasses #-}
3import Language.Elm
3import Language.Elm
4+import Language.Elm.Quasi
4import Language.Elm.Yesod
5import Language.Elm.Yesod
5import Yesod
6import Yesod
6import Text.Hamlet
7import Text.Hamlet
8data ElmTest = ElmTest
9data ElmTest = ElmTest
10−-- embedding an external elm file (note: no spaces!)
11−rootPage :: Show a => a -> a -> a -> String
12−rootPage mouse clock shapes = [elmFile|elm_source/index.elm|]
11+mousePage = $(elmFile "elm_source/mouse.elm")
14−mousePage = [elmFile|elm_source/mouse.elm|]
16−clockPage = [elmFile|elm_source/clock.elm|]
13+clockPage = $(elmFile "elm_source/clock.elm")
18-- embedding elm code inside Haskell using the QuasiQuoter:
15-- embedding elm code inside Haskell using the QuasiQuoter:
19shapesPage = [elm|
16shapesPage = [elm|
@@ -63,7 +60,7 @@ getRootR = do
63 clock = render ClockR
60 clock = render ClockR
64 shapes = render ShapesR
61 shapes = render ShapesR
65 setTitle "Welcome!"
62 setTitle "Welcome!"
66− elmWidget $ rootPage mouse clock shapes
63+ elmWidget $(elmFile "elm_source/index.elm")
69-- Our Yesod instance contains the default layout, which inserts the elm-min.js
66-- Our Yesod instance contains the default layout, which inserts the elm-min.js