-- in geschweiften Klammern stehen Quasi Quotes {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TemplateHaskell, QuasiQuotes #-} -- Bibliotheken importieren import Yesod import Data.Text import Control.Applicative import Yesod.Form -- setzt den Port des Webservers Warp auf 3000 main :: IO () main = warp 3000 FormApp data FormApp = FormApp instance Yesod FormApp instance RenderMessage FormApp FormMessage where renderMessage _ _ = defaultFormMessage -- die Webanwendung "FormApp" bringt nur eine Route mit mkYesod "FormApp" [parseRoutes| /contact ContactR GET |] -- eine Hilfsfunktion bindet das Formular widget in eine Webseite ein page enctype widget res = defaultLayout $ do -- Titel der Webseite setzen setTitle "Contact" [whamlet|

Ergebnis: #{show res}

^{widget}