Zafu/Abstract/Traversesource code:
public dependencies: Zafu/Abstract/Applicative, Zafu/Abstract/Eq, Zafu/Abstract/Foldable
Traverselaws_Traverse, map, sequence, traverse, traverse_balanced_List,
traverse_from_traverse,
traverse_from_traverse_map,
traverse_specialized,
traverse_to_foldableTraverse[f]type Traverse[f: * -> *]
laws_Traversereferences: Option, Test, Traverse, Unit, Zafu/Abstract/Eq::Eq
def laws_Traverse[a: * -> *, b, c, d](
inst: Traverse[a],
eq_fa: Zafu/Abstract/Eq::Eq[a[b]],
eq_fc: Zafu/Abstract/Eq::Eq[a[c]],
eq_option_fb: Zafu/Abstract/Eq::Eq[Option[a[d]]],
eq_option_unit: Zafu/Abstract/Eq::Eq[Option[()]],
eq_item: Zafu/Abstract/Eq::Eq[b],
fa: a[b],
fn_ab: b -> d,
fn_bc: d -> c,
fn_aob: b -> Option[d]
) -> Test
mapreferences: Traverse
def map[a: * -> *, b, c](fa: a[b], inst: Traverse[a], fn: b -> c) -> a[c]
sequencereferences: Traverse, Zafu/Abstract/Applicative::Applicative
def sequence[a: * -> *,
b: * -> *,
c](fga: a[b[c]], inst: Traverse[a], app: Zafu/Abstract/Applicative::Applicative[b]) -> b[a[c]]
traversereferences: Traverse, Zafu/Abstract/Applicative::Applicative
def traverse[a: * -> *,
b,
c: * -> *,
d
](fa: a[b], inst: Traverse[a], app: Zafu/Abstract/Applicative::Applicative[c], fn: b -> c[d]) -> c[a[d]]
traverse_balanced_ListTraverse a list by first building a balanced pure tree, keeping applicative depth logarithmic.
references: List, Zafu/Abstract/Applicative::Applicative
def traverse_balanced_List[a,
b: * -> *,
c](items: List[a], app: Zafu/Abstract/Applicative::Applicative[b], fn: a -> b[c]) -> b[List[c]]
traverse_from_traversereferences: Traverse, Zafu/Abstract/Applicative::Applicative,
Zafu/Abstract/Foldable::Foldable
def traverse_from_traverse[a: * -> *](
traverse_fn: forall b: *, c: * -> *, d: *. (a[b], Zafu/Abstract/Applicative::Applicative[c], b -> c[d]) -> c[a[d]],
foldable_inst: Zafu/Abstract/Foldable::Foldable[a]
) -> Traverse[a]
traverse_from_traverse_mapreferences: Traverse, Zafu/Abstract/Applicative::Applicative,
Zafu/Abstract/Foldable::Foldable
def traverse_from_traverse_map[a: * -> *](
traverse_fn: forall b: *, c: * -> *, d: *. (a[b], Zafu/Abstract/Applicative::Applicative[c], b -> c[d]) -> c[a[d]],
map_fn: forall b: *, c: *. (a[b], b -> c) -> a[c],
foldable_inst: Zafu/Abstract/Foldable::Foldable[a]
) -> Traverse[a]
traverse_specializedreferences: Traverse, Zafu/Abstract/Applicative::Applicative,
Zafu/Abstract/Foldable::Foldable
def traverse_specialized[a: * -> *](
traverse_fn: forall b: *, c: * -> *, d: *. (a[b], Zafu/Abstract/Applicative::Applicative[c], b -> c[d]) -> c[a[d]],
map_fn: forall b: *, c: *. (a[b], b -> c) -> a[c],
foldable_inst: Zafu/Abstract/Foldable::Foldable[a]
) -> Traverse[a]
traverse_to_foldablereferences: Traverse, Zafu/Abstract/Foldable::Foldable
def traverse_to_foldable[a: * -> *](inst: Traverse[a]) -> Zafu/Abstract/Foldable::Foldable[a]