Package0.2.3.1Data
dual-tree
Rose trees with cached and accumulating monoidal annotations
- Version0.2.3.1
- CategoryData
- LicenceBSD-3-Clause
- AuthorBrent Yorgey
- Maintainerdiagrams-discuss@googlegroups.com
- Pinned byhackage dual-tree 0.2.3.1
- Sourcehackage.haskell.org/package/dual-tree-0.2.3.1
Modules
2 modules- Data.Tree.DUAL12Rose (n-ary) trees with both upwards- (i.e. cached) and
Internal modules · 1
- Data.Tree.DUAL.Internal18This module provides access to all of the internals of the
Description
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 (https://diagrams.github.io), 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.
Depends on
3 packages- base-4.20.2.0with GHC
- monoid-extras-0.6.2in this set
- semigroups-0.20in this set
Used by in this set · 0
Nothing in this set depends on it.