hyperbole-0.5.0: Interactive HTML apps using type-safe serverside Haskell
Safe HaskellNone
LanguageGHC2021

Web.Hyperbole.Page

Synopsis

Documentation

type Page (es :: [(Type -> Type) -> Type -> Type]) (views :: [Type]) = Eff (Reader (Root views) ': es) (View (Root views) ()) Source #

An application is divided into multiple Pages. Each page module should have a Page function, which returns a root View

#EMBED ExampleDocsMultiView.hs page

runPage :: forall (es :: [Effect]) (views :: [Type]). (Hyperbole :> es, RunHandlers views es) => Page es views -> Eff es Response Source #

Run a Page and return a Response

#EMBED ExampleDocsBasicPage.hs main

#EMBED ExampleDocsBasicPage.hs page

subPage :: forall (es :: [Effect]) (inner :: [Type]) a. Hyperbole :> es => Eff (Reader (Root inner) ': es) a -> Eff es a Source #