> module Headings
>        (headings)
>        where

> headings :: String -> String
> headings s = unlines $ map makeheads (lines s)

> f :: String -> String
> f = unwords . words

> makeheads :: [Char] -> [Char]
> makeheads l | l == "" = l
>             | (head l == '=' &&
>                head (tail l) == '=' &&
>                head (tail (tail l)) == '=') =
>                     "<head3>" ++ f (drop 4 l) ++ "</head3>"
>             | (head l == '=' &&
>                head (tail l) == '=') =
>                      "<head2>" ++ f (drop 3 l) ++ "</head2>"
>             | head l == '=' =
>                      "<head1>" ++ f (drop 2 l) ++ "</head1>"
>             | otherwise = l


