dual-tree

Rose trees with cached and accumulating monoidal annotations

LTS Haskell 9.6:0.2.1
Stackage Nightly 2017-07-25:0.2.1
Latest on Hackage:0.2.1
BSD3 licensed by Brent Yorgey
Maintained by diagrams-discuss@googlegroups.com

Module documentation for 0.2.1

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.

Changes

* 0.2.1: 3 July 2017

- migrate from newtype to newtype-generics dependency
This change only affects internals of the library.
- improve tests
- allow base-4.10
- derive Typeable instead of deprecated Typeable1
- drop support for GHC < 7.8

* 0.2.0.9: 14 February 2016

- allow base-4.9 for GHC-8.0

* 0.2.0.8: 10 November 2015

- allow semigroups-0.18

* 0.2.0.7: 16 September 2015

- Allow semigroups-0.17

* 0.2.0.6: 3 April 2015

- Allow base-4.8
- Allow monoid-extras-0.4

* 0.2.0.5: 04 Dec 2014

- Allow semigroups-0.16

* 0.2.0.4: 28 May 2014

- Allow semigroups-0.15

* 0.2.0.3: 15 May 2014

- Allow semigroups-0.14

* 0.2.0.2: 10 April 2014

- Allow semigroups-0.13

* 0.2.0.1: 27 November 2013

- Allow semigroups-0.12

* 0.2: 5 November 2013

- Expose internal d-annotations via foldDUAL

* 0.1.0.4: 26 September 2013

- allow semigroups-0.11

* 0.1.0.3: 15 July 2013

- bump monoid-extras upper bound to allow 0.3

* 0.1.0.2: 28 March 2013

- bump upper bound to allow base-4.7

* 0.1.0.1: 7 January 2013

- bump upper bound to allow semigroups-0.9

* 0.1.0.0: 3 September 2012

Initial release
comments powered byDisqus