moe で HTML をきれいに書く

Haskell でまともな HTML 吐きたいときに便利.
http://hackage.haskell.org/package/moe
使い方は github のほうにある test.hs に書いてあるようなかんじで,実に直感的に書ける.
なぜか MPS.Light の - を使って書いてあるけど,これの定義は標準の $ と全く同じなので,普通に

import Prelude hiding ((/), div)
import Text.HTML.Moe

test_page :: String
test_page = render $
  html' $ do
    head' $ do
      meta [http_equiv "Content-Type", content "text/html; charset-utf-8"]
      title' $ str "my title"
      link [rel "icon", _type "image/png", href "panda_icon.png"]

    body' $ do
      div [_class "container"] $ do
        str "hello world"

main :: IO ()
main = putStrLn test_page

などとするほうがいいと思う.