dual-tree: Rose trees with cached and accumulating monoidal annotations

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Rose (n-ary) trees with both upwards- (i.e. cached) and downwards-traveling (i.e. accumulating) monoidal annotations. This is used as the core data structure underlying the diagrams framework (http://projects.haskell.org/diagrams), but potentially has other applications as well.

Abstractly, a DUALTree is a rose (n-ary) tree with data (of type l) at leaves, data (of type a) at internal nodes, and two types of monoidal annotations, one (of type u) travelling "up" the tree and one (of type d) traveling "down".

See Data.Tree.DUAL for full documentation. Data.Tree.DUAL provides a public API which should suffice for most purposes. Data.Tree.DUAL.Internal exports more of the internal implementation---use it at your own risk.


Versions,,,,,, 0.2,,,,,,,,,,, 0.2.1,, 0.2.2,,,
Change log CHANGES
Dependencies base (>=4.3 && <4.8), monoid-extras (>=0.2 && <0.4), newtype (>=0.2 && <0.3), semigroups (>=0.8 && <0.15) [details]
License BSD-3-Clause
Author Brent Yorgey
Maintainer diagrams-discuss@googlegroups.com
Category Data
Bug tracker https://github.com/diagrams/dual-tree/issues
Source repo head: git clone https://github.com/diagrams/dual-tree.git
Uploaded by bergey at 2014-05-15T19:16:22Z




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees