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

[ bsd3, data, library ] [ Propose Tags ]

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.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, 0.2.0.5, 0.2.0.6, 0.2.0.7, 0.2.0.8, 0.2.0.9, 0.2.1, 0.2.1.1, 0.2.2
Change log CHANGES
Dependencies base (>=4.3 && <4.12), monoid-extras (>=0.2 && <0.6), newtype-generics (>=0.5.3 && <0.6), semigroups (>=0.8 && <0.19) [details]
License BSD-3-Clause
Author Brent Yorgey
Maintainer diagrams-discuss@googlegroups.com
Revised Revision 1 made by phadej at Mon May 21 16:41:09 UTC 2018
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 BrentYorgey at Wed May 16 11:11:39 UTC 2018
Distributions Debian:0.2.0.8, LTSHaskell:0.2.2, NixOS:0.2.2
Downloads 30838 total (257 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-05-16 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

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

For package maintainers and hackage trustees