HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleshakespeare-2.1.0.1Haskell2010

Text.Hamlet

  • 10 types
  • 1 class
  • 24 values

Plain HTML

5 declarations
valueshamlet :: QuasiQuoter
#

"Simple Hamlet" quasi-quoter. May only be used to generate expressions.

Generated expressions have type Html.

>>> putStrLn (Text.Blaze.Html.Renderer.renderHtml [shamlet|<div>Hello, world!|])
<div>Hello, world!</div>

Hamlet

7 declarations
valuehamlet :: QuasiQuoter
#

Hamlet quasi-quoter. May only be used to generate expressions.

Generated expression have type HtmlUrl url, for some url.

data MyRoute = Home

render :: Render MyRoute
render Home _ = "/home"

>>> putStrLn (renderHtml ([hamlet|<a href=@{Home}>Home|] render))
<a href="/home">Home</a>

I18N Hamlet

5 declarations
valueihamlet :: QuasiQuoter
#

Hamlet quasi-quoter with internationalization. May only be used to generate expressions.

Generated expressions have type HtmlUrlI18n msg url, for some msg and url.

data MyMsg = Hi | Bye

data MyRoute = Home

renderEnglish :: Translate MyMsg
renderEnglish Hi  = "hi"
renderEnglish Bye = "bye"

renderUrl :: Render MyRoute
renderUrl Home _ = "/home"

>>> putStrLn (Text.Blaze.Html.Renderer.renderHtml ([ihamlet|@{Home} _{Hi} _{Bye}|] renderEnglish renderUrl))
<div>/home hi bye <div>

Type classes

1 declaration

Internal, for making more

12 declarations
datadata HamletSettings
#

Settings for parsing of a hamlet document.

Constructors

Instances1Lift

Used by generated code

4 declarations
valuecondH :: Monad m => [(Bool, m ())] -> Maybe (m ()) -> m ()
#

Checks for truth in the left value in each pair in the first argument. If a true exists, then the corresponding right action is performed. Only the first is performed. In there are no true values, then the second argument is performed, if supplied.

valuemaybeH :: Monad m => Maybe v -> (v -> m ()) -> Maybe (m ()) -> m ()
#

Runs the second argument with the value in the first, if available. Otherwise, runs the third argument, if available.

low-level

1 declaration