name: dual-tree version: 0.1.0.3 synopsis: Rose trees with cached and accumulating monoidal annotations 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 (), 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. license: BSD3 license-file: LICENSE extra-source-files: CHANGES author: Brent Yorgey maintainer: diagrams-discuss@googlegroups.com category: Data build-type: Simple cabal-version: >=1.10 bug-reports: https://github.com/diagrams/dual-tree/issues source-repository head type: git location: https://github.com/diagrams/dual-tree.git library default-language: Haskell2010 exposed-modules: Data.Tree.DUAL Data.Tree.DUAL.Internal build-depends: base >= 4.3 && < 4.8, semigroups >= 0.8 && < 0.10, newtype >= 0.2 && < 0.3, monoid-extras >= 0.2 && < 0.4 hs-source-dirs: src other-extensions: GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleInstances, DeriveFunctor, TypeOperators, FlexibleContexts, DeriveDataTypeable