The dual-tree package

[Tags: bsd3, library]

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.


Properties

Versions0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.2, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4
Dependenciesbase (>=4.3 && <4.8), monoid-extras (>=0.2 && <0.4), newtype (==0.2.*), semigroups (>=0.8 && <0.14)
LicenseBSD3
AuthorBrent Yorgey
Maintainerdiagrams-discuss@googlegroups.com
CategoryData
Bug trackerhttps://github.com/diagrams/dual-tree/issues
Source repositoryhead: git clone https://github.com/diagrams/dual-tree.git
Upload dateThu Apr 10 15:40:04 UTC 2014
Uploaded byjeffreyrosenbluth
DistributionsDebian:0.2.0.4, NixOS:0.2.0.4
Downloads13954 total (1115 in last 30 days)

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees