module Data.Aviation.Casr.Logbook.Printer.Html ( Html(..) , printHtml , writeHtmlFile ) where class Html s where html :: s -> String instance Html Char where html '&' = "&" html c = [c] instance Html Int where html = show instance Html a => Html [a] where html = (=<<) html printHtml :: Html s => s -> IO () printHtml = putStrLn . html writeHtmlFile :: Html s => FilePath -> s -> IO () writeHtmlFile p = writeFile p . html