Zafu/Collection/LazyTreesource code:
public dependencies: Zafu/Abstract/Applicative,
Zafu/Abstract/Eq, Zafu/Abstract/Monad, Zafu/Collection/LazyList
LazyTreeapplicative_LazyTree,
eq_LazyTree, expand, flat_map, map, monad_LazyTree, prune, singleton, unfold, zip_mapLazyTree[a]type LazyTree[a: +*]
LazyTree(value: a, children: Zafu/Collection/LazyList::LazyList[LazyTree[a]])applicative_LazyTreereferences: LazyTree, Zafu/Abstract/Applicative::Applicative
applicative_LazyTree: Zafu/Abstract/Applicative::Applicative[LazyTree]
eq_LazyTreereferences: LazyTree, Zafu/Abstract/Eq::Eq
def eq_LazyTree[a](eq_item: Zafu/Abstract/Eq::Eq[a]) -> Zafu/Abstract/Eq::Eq[LazyTree[a]]
expandreferences: Int, LazyTree, Zafu/Collection/LazyList::LazyList
def expand[a
](tree: LazyTree[a], depth: Int, expand_fn: a -> Zafu/Collection/LazyList::LazyList[a]) -> LazyTree[a]
flat_mapreferences: LazyTree
def flat_map[a, b](tree: LazyTree[a], fn: a -> LazyTree[b]) -> LazyTree[b]
mapreferences: LazyTree
def map[a, b](tree: LazyTree[a], fn: a -> b) -> LazyTree[b]
monad_LazyTreereferences: LazyTree, Zafu/Abstract/Monad::Monad
monad_LazyTree: Zafu/Abstract/Monad::Monad[LazyTree]
prunereferences: LazyTree
def prune[a](tree: LazyTree[a]) -> LazyTree[a]
singletonreferences: LazyTree
def singleton[a](value: a) -> LazyTree[a]
unfoldreferences: Int, LazyTree, Zafu/Collection/LazyList::LazyList
def unfold[a,
b
](depth: Int, init: a, inject: a -> b, expand_fn: a -> Zafu/Collection/LazyList::LazyList[a]) -> LazyTree[b]
zip_mapCombine two trees by interleaving one-step shrinks from either side.
def zip_map[a,
b,
c](depth: Int, left: LazyTree[a], right: LazyTree[b], fn: (a, b) -> c) -> LazyTree[c]