packages feed

dual-tree-0.2.0.2: dual-tree.cabal

name:                dual-tree
version:             0.2.0.2
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
                     (<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.
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.14,
                     newtype >= 0.2 && < 0.3,
                     monoid-extras >= 0.2 && < 0.4
  hs-source-dirs:    src
  other-extensions:  GeneralizedNewtypeDeriving,
                     MultiParamTypeClasses,
                     FlexibleInstances,
                     DeriveFunctor,
                     TypeOperators,
                     FlexibleContexts,
                     DeriveDataTypeable