graph-core-0.3.0.0: Fast, memory efficient and persistent graph implementation
Safe HaskellNone
LanguageHaskell98

Data.Core.Graph

Documentation

data Graph Source #

Instances

Instances details
Show Graph Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

showsPrec :: Int -> Graph -> ShowS #

show :: Graph -> String #

showList :: [Graph] -> ShowS #

NFData Graph Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

rnf :: Graph -> () #

Eq Graph Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

(==) :: Graph -> Graph -> Bool #

(/=) :: Graph -> Graph -> Bool #

type Node = Int Source #

data Edge Source #

Constructors

Edge 

Fields

Instances

Instances details
Show Edge Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

showsPrec :: Int -> Edge -> ShowS #

show :: Edge -> String #

showList :: [Edge] -> ShowS #

Eq Edge Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

(==) :: Edge -> Edge -> Bool #

(/=) :: Edge -> Edge -> Bool #

Ord Edge Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

compare :: Edge -> Edge -> Ordering #

(<) :: Edge -> Edge -> Bool #

(<=) :: Edge -> Edge -> Bool #

(>) :: Edge -> Edge -> Bool #

(>=) :: Edge -> Edge -> Bool #

max :: Edge -> Edge -> Edge #

min :: Edge -> Edge -> Edge #

Hashable Edge Source # 
Instance details

Defined in Data.Core.Graph.PureCore

Methods

hashWithSalt :: Int -> Edge -> Int #

hash :: Edge -> Int #

fromAdj :: [(Node, [Node])] -> Graph Source #

children :: Graph -> Node -> Vector Node Source #

parents :: Graph -> Node -> Vector Node Source #

hullFold :: Graph -> (b -> Node -> b) -> b -> Node -> b Source #

hullFoldM :: Monad m => Graph -> (b -> Node -> m b) -> b -> Node -> m b Source #

rhullFold :: Graph -> (b -> Node -> b) -> b -> Node -> b Source #

edgesAdj :: AdjList -> [Edge] Source #