In this recipe, we will be using the blaze-html library to construct HTML documents. The blaze-html library provides very efficient and fast DSL for constructing HTML documents. It is very lightweight and supports efficient UNICODE support. Being that it is embedded inside Haskell, one can also take full advantage of Haskell while constructing HTML documents. It also supports HTML5 and HTML4 strict syntax.
Note that the aim of the recipe is not to showcase HTML, but the interoperability between Haskell and HTML through blaze-html.