rose-trees-0.0.4.3: A collection of rose tree structures.

Safe HaskellNone
LanguageHaskell2010

Data.Tree.Rose

Documentation

type family Head (x :: *) :: * #

Instances

type Head (Tree a) # 
type Head (Tree a) = a
type Head (SetTree a) # 
type Head (SetTree a) = a
type Head (KnuthForest a) # 
type Head (KnuthForest a) = a
type Head (KnuthTree a) # 
type Head (KnuthTree a) = a
type Head (HashTree a) # 
type Head (HashTree a) = a

type family Tail (y :: *) :: * #

Instances

type Tail (Tree a) # 
type Tail (Tree a) = [Tree a]
type Tail (SetTree a) # 
type Tail (SetTree a) = Set (SetTree a)
type Tail (KnuthForest a) # 
type Tail (KnuthTree a) # 
type Tail (HashTree a) # 
type Tail (HashTree a) = HashSet (HashTree a)

class RoseTree c where #

Minimal complete definition

(@->)

Methods

(@->) :: Head (c a) -> Tail (c a) -> c a infixr 9 #

Instances

RoseTree Tree # 

Methods

(@->) :: Head (Tree a) -> Tail (Tree a) -> Tree a #

RoseTree SetTree # 

Methods

(@->) :: Head (SetTree a) -> Tail (SetTree a) -> SetTree a #

RoseTree KnuthForest # 

Methods

(@->) :: Head (KnuthForest a) -> Tail (KnuthForest a) -> KnuthForest a #

RoseTree KnuthTree # 

Methods

(@->) :: Head (KnuthTree a) -> Tail (KnuthTree a) -> KnuthTree a #

RoseTree HashTree # 

Methods

(@->) :: Head (HashTree a) -> Tail (HashTree a) -> HashTree a #