fgl-5.7.0.1: Martin Erwig's Functional Graph Library

Safe Haskell | None
Language | Haskell98

Data.Graph.Inductive.Monad.IOArray

Contents

- Graph Representation
- Utilities

Description

Static IOArray-based Graphs

Synopsis

- newtype SGr a b = SGr (GraphRep a b)
- type GraphRep a b = (Int, Array Node (Context' a b), IOArray Node Bool)
- type Context' a b = Maybe (Adj b, a, Adj b)
- type USGr = SGr () ()
- defaultGraphSize :: Int
- emptyN :: Int -> IO (SGr a b)
- removeDel :: IOArray Node Bool -> Adj b -> IO (Adj b)

# Graph Representation

newtype SGr a b #

Constructors

SGr (GraphRep a b) |

Instances

GraphM IO SGr # |

Instance details

Defined in Data.Graph.Inductive.Monad.IOArray

Methods

emptyM :: IO (SGr a b) #

isEmptyM :: IO (SGr a b) -> IO Bool #

matchM :: Node -> IO (SGr a b) -> IO (Decomp SGr a b) #

mkGraphM :: [LNode a] -> [LEdge b] -> IO (SGr a b) #

labNodesM :: IO (SGr a b) -> IO [LNode a] #

matchAnyM :: IO (SGr a b) -> IO (GDecomp SGr a b) #

noNodesM :: IO (SGr a b) -> IO Int #

nodeRangeM :: IO (SGr a b) -> IO (Node, Node) #

labEdgesM :: IO (SGr a b) -> IO [LEdge b] #

(Show a, Show b) => Show (IO (SGr a b)) # | Please note that this instance is unsafe.
Instance details Defined in Data.Graph.Inductive.Monad.IOArray Methods showsPrec :: Int -> IO (SGr a b) -> ShowS # show :: IO (SGr a b) -> String # showList :: [IO (SGr a b)] -> ShowS #
(Show a, Show b) => Show (SGr a b) # | Please note that this instance is unsafe.
Instance details Defined in Data.Graph.Inductive.Monad.IOArray Methods showsPrec :: Int -> SGr a b -> ShowS # show :: SGr a b -> String # showList :: [SGr a b] -> ShowS #

type GraphRep a b = (Int, Array Node (Context' a b), IOArray Node Bool) #

type Context' a b = Maybe (Adj b, a, Adj b) #

type USGr = SGr () () #

defaultGraphSize :: Int #

emptyN :: Int -> IO (SGr a b) #

# Utilities

removeDel :: IOArray Node Bool -> Adj b -> IO (Adj b) #

filter list (of successors/predecessors) through a boolean ST array representing deleted marks