{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies, TypeSynonymInstances, QuasiQuotes, OverloadedStrings #-} module Main where import Control.Applicative import Control.Applicative.Indexed (IndexedFunctor(..), IndexedApplicative(..)) import Control.Monad (msum) import Data.Text.Lazy (Text) import qualified Data.Text.Lazy as Lazy import qualified Data.Text as Strict import Happstack.Server import Happstack.Server.XMLGenT () import Happstack.Server.HSP.HTML () import HSP import HSP.Monad (HSPT(..)) import Language.Haskell.HSX.QQ (hsx) import Text.Reform ( CommonFormError(..), Form, FormError(..), Proof(..), (++>) , (<++), commonFormErrorStr, decimal, prove , transformEither, transform ) import Text.Reform.Happstack import Text.Reform.HSP.Text type AppT m = XMLGenT (HSPT XML (ServerPartT m)) type AppT' m = HSPT XML (ServerPartT m) appTemplate :: ( Functor m, Monad m , EmbedAsChild (AppT' m) headers , EmbedAsChild (AppT' m) body ) => Text -- ^ contents of