cabal-version: 2.2 name: tree-traversals version: 0.1.2.0 synopsis: Functions and newtype wrappers for traversing Trees description: The tree-traversals package defines for tree-like types: . > inorder, preorder, postorder, levelorder, rlevelorder > :: (TreeLike tree, Applicative f) => (a -> f b) -> tree a -> f (tree b) . The package also provides newtype wrappers for the various traversals so they may be used with @traverse@, i.e. . > traverse f (InOrder tree) = inorder f tree > traverse f (PreOrder tree) = preorder f tree > traverse f (PostOrder tree) = postorder f tree > traverse f (LevelOrder tree) = levelorder f tree > traverse f (RLevelOrder tree) = rlevelorder f tree . To implement the various orders, the tree-traversals package provides the 'Control.Applicative.Phases.Phases' applicative transformer for organizing effects into distinct phases. . Instances of 'Data.Traversable.TreeLike.TreeLike' are provided for rose trees ('Data.Tree.Tree'), binary trees ('Data.BinaryTree.BinaryTree'), forests ('Data.Traversable.TreeLike.Forest'), and algebraic combinations of trees (@'Data.Functor.Compose.Compose' outerTree innerTree@, @'Data.Functor.Product' fstTree sndTree@, @'Data.Functor.Sum' leftTree rightTree@). homepage: https://github.com/rampion/tree-traversals license: CC0-1.0 license-file: LICENSE author: Noah Luck Easterly maintainer: noah.easterly@gmail.com category: Data build-type: Simple extra-source-files: ChangeLog.md , README.md source-repository head type: git location: git://github.com/rampion/tree-traversals.git source-repository this type: git location: git://github.com/rampion/tree-traversals.git tag: v0.1.0.0 flag Development description: Enable all warnings and upgrade warnings to errors default: False manual: True library exposed-modules: Control.Applicative.Phases , Data.BinaryTree , Data.Monoid.TreeDiagram , Data.Traversable.TreeLike -- other-extensions: build-depends: base >=4.10 && <4.17 , containers hs-source-dirs: src default-language: Haskell2010 if flag(development) ghc-options: -Wall -Wextra -Werror test-suite doctests type: exitcode-stdio-1.0 main-is: doctests.hs build-depends: base >=4.10 , doctest >=0.13 , containers , mtl >=2.2.1 default-language: Haskell2010 if flag(development) ghc-options: -Wall -Wextra -Werror