Data.Graph.Inductive.Monad.IOArray

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