Concurrent Clean : ライブラリ化

HTMLの取り扱いをライブラリ化しようとしています。これにプリプロセッサをかませて簡単な組み込みテンプレートエンジンにしてしまおうと画策中。

module PageIndex

import StdEnv, OptEnv, Html

Start w # (f,w) = stdio w
          f = f --> printHttpHeader ["Content-type: text/html"]
                --> printHtml page
          (_,w) = fclose f w
        = w

page =
    [HtmlText "<HTML>\n"
    ,HtmlText "<HEAD>\n"
    ,HtmlText "<TITLE>CGI by Clean</TITLE>\n"
    ,HtmlText "</HEAD>\n"
    ,HtmlText "<BODY>\n"
    ,HtmlTag "H1" [("class","title")] [HtmlText "HELLO WORLD."]
    ,HtmlText "</BODY>\n"
    ,HtmlText "</HTML>\n"
    ]