Tree -package:hexpat
Non-empty, possibly infinite, multi-way trees; also known as rose
trees.
Multi-way Trees and Forests
The
Tree a type represents a lazy, possibly infinite,
multi-way tree (also known as a
rose tree).
The
Forest a type represents a forest of
Tree as.
Pattern to ease construction / deconstruction of pure trees.
Warning: This API is experimental.
Internal tree data structure
NOTE: This module is preliminary and may change at a future
date.
This module is intended to help converting a list of tags into a tree
of tags.
The GTree struct is an opaque data structure representing a [balanced
binary tree][glib-Balanced-Binary-Trees]. It should be accessed only
by using the following functions.
Memory-managed wrapper type.
Provides a simple data structure mirroring a directory tree on the
filesystem, as well as useful functions for reading and writing file
and directory structures in the IO monad.
Errors are caught in a special constructor in the DirTree type.
Defined instances of Functor, Traversable and Foldable allow for
easily operating on a directory of files. For example, you could use
Foldable.foldr to create a hash of the entire contents of a directory.
The functions
readDirectoryWithL and
buildL allow for
doing directory-traversing IO lazily as required by the execution of
pure code. This allows you to treat large directories the same way as
you would a lazy infinite list.
The AnchoredDirTree type is a simple wrapper for DirTree to keep track
of a base directory context for the DirTree.
Please send me any requests, bugs, or other feedback on this module!
Tree diffing working on
containers Tree.