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

Safe HaskellNone
LanguageHaskell98

Data.Core.Graph

Documentation

data Graph Source #

Instances

Eq Graph Source # 

Methods

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

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

Show Graph Source # 

Methods

showsPrec :: Int -> Graph -> ShowS #

show :: Graph -> String #

showList :: [Graph] -> ShowS #

NFData Graph Source # 

Methods

rnf :: Graph -> () #

type Node = Int Source #

data Edge Source #

Constructors

Edge 

Fields

Instances

Eq Edge Source # 

Methods

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

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

Ord Edge Source # 

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 #

Show Edge Source # 

Methods

showsPrec :: Int -> Edge -> ShowS #

show :: Edge -> String #

showList :: [Edge] -> ShowS #

Hashable Edge Source # 

Methods

hashWithSalt :: Int -> Edge -> Int #

hash :: Edge -> Int #

fromAdj :: [(Node, [Node])] -> Graph 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 #