willow: An implementation of the web Document Object Model, and its rendering.

[ library, mpl, web ] [ Propose Tags ]

willow is the basis of a web browser suite, providing the underlying types to represent various documents found on the internet. It does not provide parsing algorithms for anything but the simplest filetypes, instead expecting them to be outsourced to other modules.

[Skip to Readme]


Manual Flags


Trigger stricter behaviour for development

Automatic Flags

Enable the html5lib tests, which require manually downloading the test data.


Enable integration with web-platform-tests suite, greatly expanding the test surface at the expense of requiring the manual download of the (large) test data repository.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS]
Change log CHANGELOG.md
Dependencies aeson (<1.6), base (>=4.10 && <4.15), bytestring (<0.11), filepath (<1.5), hashable (<1.4), mtl (<2.3), text (<1.3), transformers (<0.6), unordered-containers (<0.3), utility-ht (<0.1), vector (<0.13) [details]
License MPL-2.0
Copyright © 2020-2021 Sam May
Author Sam May
Maintainer sam@eitilt.life
Revised Revision 1 made by ageitilt at 2021-04-17T00:17:18Z
Category Web
Home page https://ag.eitilt.life/willow
Bug tracker mailto:ag@eitilt.life
Source repo head: darcs get https://darcs.eitilt.life/willow (willow)
this: darcs get https://darcs.eitilt.life/willow --tag v/dom/ (willow)
head: darcs get https://hub.darcs.net/ag.eitilt/mangrove (willow)
this: darcs get https://hub.darcs.net/ag.eitilt/mangrove --tag v/dom/ (willow)
Uploaded by ageitilt at 2021-04-16T23:54:11Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 200 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for willow-

[back to package description]


willow is the backbone of the HTML rendering framework used by the eponymous Willow browser suite; it provides both the underlying data structures, and later formats them for display. In this, it is somewhat language-agnostic, so that both a (very basic) HTML page and a (coerced) Gemini response would have similar representations and be rendered through the same pathway.

This readme is rather sparse, as it has been written for a subfolder of the complete repository; for full info on the project, see the primary readme in either this directory, its parent, or the online host, whichever of those links may work.