apart-0.1.3: Get all your structure and rip it apart.

Safe HaskellSafe
LanguageHaskell2010

Data.Apart.Structures.Graph

Synopsis

Documentation

type Graph = Cofree Edges Source #

Directed acyclic graph.

data Edges a Source #

Constructors

Empty 
Connect a 
Overlay a 
Instances
Functor Edges Source # 
Instance details

Defined in Data.Apart.Structures.Graph

Methods

fmap :: (a -> b) -> Edges a -> Edges b #

(<$) :: a -> Edges b -> Edges a #

Foldable Edges Source # 
Instance details

Defined in Data.Apart.Structures.Graph

Methods

fold :: Monoid m => Edges m -> m #

foldMap :: Monoid m => (a -> m) -> Edges a -> m #

foldr :: (a -> b -> b) -> b -> Edges a -> b #

foldr' :: (a -> b -> b) -> b -> Edges a -> b #

foldl :: (b -> a -> b) -> b -> Edges a -> b #

foldl' :: (b -> a -> b) -> b -> Edges a -> b #

foldr1 :: (a -> a -> a) -> Edges a -> a #

foldl1 :: (a -> a -> a) -> Edges a -> a #

toList :: Edges a -> [a] #

null :: Edges a -> Bool #

length :: Edges a -> Int #

elem :: Eq a => a -> Edges a -> Bool #

maximum :: Ord a => Edges a -> a #

minimum :: Ord a => Edges a -> a #

sum :: Num a => Edges a -> a #

product :: Num a => Edges a -> a #

Traversable Edges Source # 
Instance details

Defined in Data.Apart.Structures.Graph

Methods

traverse :: Applicative f => (a -> f b) -> Edges a -> f (Edges b) #

sequenceA :: Applicative f => Edges (f a) -> f (Edges a) #

mapM :: Monad m => (a -> m b) -> Edges a -> m (Edges b) #

sequence :: Monad m => Edges (m a) -> m (Edges a) #

Show a => Show (Edges a) Source # 
Instance details

Defined in Data.Apart.Structures.Graph

Methods

showsPrec :: Int -> Edges a -> ShowS #

show :: Edges a -> String #

showList :: [Edges a] -> ShowS #

star :: Foldable t => a -> t a -> Graph a Source #

remove :: Eq a => a -> Graph a -> Segmented Graph a Source #

Remove vertex and all of its edges.