Trait adapton::catalog::collections::RoseIntro [] [src]

pub trait RoseIntro<Leaf, Branch>: Debug + Clone + Hash + PartialEq + Eq {
    type List: ListElim<Self>;
    fn leaf(_: Leaf) -> Self;
fn branch(_: Branch, _: Self::List) -> Self;
fn name(_: Name, _: Self) -> Self;
fn art(_: Art<Self>) -> Self; }

Rose Trees: A tree with arbitrary branching at each node. See also, Definition 2 (page 2) of Parallel Implementation of Tree Skeletons, by D.B. Skillicorn 1995.

Associated Types

Required Methods

Introduce a leaf with exactly zero children

Introduce a branch with zero or more subtrees

Introduce a Named subtree

Introduce a list with an articulation that holds a list

Implementors