Announcement: Typeful [x]html combinators -- pre-release 0

Tomasz Zielonka tomasz.zielonka at
Thu Jan 10 07:21:17 EST 2008

On Tue, Jan 08, 2008 at 02:43:08PM +0000, Jon Fairbairn wrote:
> > It contains a monadic combinator library that checks
> > proper nesting of HTML tags at compile time. The library
> > also has an unchecked version,
> It's possible that I only tried the unchecked version: I
> just thought of an invalid example, read what documentation
> I could find and generated some invalid html.

That's an easy trap to fall into, especially because the author seems to
use only unchecked combinators in examples ;-)

> However,
> Thiemann's thesis says
>    The current library implements neither inclusions nor
>    exceptions.
> So I hope I might be forgiven if I overlooked a difference
> between the distribution and the thesis! Does the checked
> version now enforce appendix B and prevent <a> appearing
> anywhere within <a> and so on?

I am not familiar with the HTML standards enough to understand
everything you say here, but I've just checked that you can't put <a>
inside <a> using the checked combinators. But I can't say if it
checks everything your library checks.

> Another difference is that I haven't used any non-Haskell 98
> constructs other than using Template Haskell to generate
> class declarations and instances (were one so inclined, one
> could get ghc to output the splices and [clean them up by
> hand to] produce an entirely H98 version).

I can't think of any non-haskell 98 extensions that were used in
WASH/HTML, but I may be overlooking something. At least the interface of
WASH.HTML.HTMLMonad98 looks quite standard.

Best regards

More information about the Libraries mailing list