tree-traversals: Functions and newtype wrappers for traversing Trees
The tree-traversals package defines in-order, pre-order, post-order, level-order, and reversed level-order traversals 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
[Skip to Readme]
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| development | Enable all warnings and upgrade warnings to errors | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- tree-traversals-0.1.3.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0 |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | base (>=4.10 && <4.20), containers [details] |
| License | CC0-1.0 |
| Author | Noah Luck Easterly |
| Maintainer | noah.easterly@gmail.com |
| Category | Data |
| Home page | https://github.com/rampion/tree-traversals |
| Source repo | head: git clone git://github.com/rampion/tree-traversals.git this: git clone git://github.com/rampion/tree-traversals.git(tag v0.1.0.0) |
| Uploaded | by NoahEasterly at 2024-09-13T03:01:12Z |
| Distributions | NixOS:0.1.3.0 |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 1229 total (6 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2024-09-13 [all 1 reports] |