graphs-0.7.1: A simple monadic graph library

Copyright(C) 2011 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitytype families
Safe HaskellSafe
LanguageHaskell98

Data.Graph.AdjacencyList

Description

 
Synopsis

Documentation

newtype AdjacencyList i a #

Constructors

AdjacencyList 

Fields

Instances
Monad (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

Methods

(>>=) :: AdjacencyList i a -> (a -> AdjacencyList i b) -> AdjacencyList i b #

(>>) :: AdjacencyList i a -> AdjacencyList i b -> AdjacencyList i b #

return :: a -> AdjacencyList i a #

fail :: String -> AdjacencyList i a #

Functor (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

Methods

fmap :: (a -> b) -> AdjacencyList i a -> AdjacencyList i b #

(<$) :: a -> AdjacencyList i b -> AdjacencyList i a #

Applicative (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

Methods

pure :: a -> AdjacencyList i a #

(<*>) :: AdjacencyList i (a -> b) -> AdjacencyList i a -> AdjacencyList i b #

liftA2 :: (a -> b -> c) -> AdjacencyList i a -> AdjacencyList i b -> AdjacencyList i c #

(*>) :: AdjacencyList i a -> AdjacencyList i b -> AdjacencyList i b #

(<*) :: AdjacencyList i a -> AdjacencyList i b -> AdjacencyList i a #

Ord i => Graph (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

Associated Types

type Vertex (AdjacencyList i) :: * #

type Edge (AdjacencyList i) :: * #

Ix i => AdjacencyListGraph (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

type Vertex (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

type Vertex (AdjacencyList i) = i
type Edge (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

type Edge (AdjacencyList i) = (i, i)

class Graph g => AdjacencyListGraph g #

Minimal definition: source, target, and either adjacentVertices with outEdges = defaultOutEdges or outEdges

Minimal complete definition

source, target, outEdges

Instances
AdjacencyListGraph Identity # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

AdjacencyListGraph g => AdjacencyListGraph (MaybeT g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

BidirectionalGraph g => AdjacencyListGraph (Dual g) # 
Instance details

Defined in Data.Graph.Dual

Methods

source :: Edge (Dual g) -> Dual g (Vertex (Dual g)) #

target :: Edge (Dual g) -> Dual g (Vertex (Dual g)) #

outEdges :: Vertex (Dual g) -> Dual g [Edge (Dual g)] #

outDegree :: Vertex (Dual g) -> Dual g Int #

adjacentVertices :: Vertex (Dual g) -> Dual g [Vertex (Dual g)] #

Ix i => AdjacencyListGraph (AdjacencyList i) # 
Instance details

Defined in Data.Graph.AdjacencyList

(AdjacencyListGraph g, Monoid m) => AdjacencyListGraph (WriterT m g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (WriterT m g) -> WriterT m g (Vertex (WriterT m g)) #

target :: Edge (WriterT m g) -> WriterT m g (Vertex (WriterT m g)) #

outEdges :: Vertex (WriterT m g) -> WriterT m g [Edge (WriterT m g)] #

outDegree :: Vertex (WriterT m g) -> WriterT m g Int #

adjacentVertices :: Vertex (WriterT m g) -> WriterT m g [Vertex (WriterT m g)] #

(AdjacencyListGraph g, Monoid m) => AdjacencyListGraph (WriterT m g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (WriterT m g) -> WriterT m g (Vertex (WriterT m g)) #

target :: Edge (WriterT m g) -> WriterT m g (Vertex (WriterT m g)) #

outEdges :: Vertex (WriterT m g) -> WriterT m g [Edge (WriterT m g)] #

outDegree :: Vertex (WriterT m g) -> WriterT m g Int #

adjacentVertices :: Vertex (WriterT m g) -> WriterT m g [Vertex (WriterT m g)] #

AdjacencyListGraph g => AdjacencyListGraph (StateT s g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (StateT s g) -> StateT s g (Vertex (StateT s g)) #

target :: Edge (StateT s g) -> StateT s g (Vertex (StateT s g)) #

outEdges :: Vertex (StateT s g) -> StateT s g [Edge (StateT s g)] #

outDegree :: Vertex (StateT s g) -> StateT s g Int #

adjacentVertices :: Vertex (StateT s g) -> StateT s g [Vertex (StateT s g)] #

AdjacencyListGraph g => AdjacencyListGraph (StateT s g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (StateT s g) -> StateT s g (Vertex (StateT s g)) #

target :: Edge (StateT s g) -> StateT s g (Vertex (StateT s g)) #

outEdges :: Vertex (StateT s g) -> StateT s g [Edge (StateT s g)] #

outDegree :: Vertex (StateT s g) -> StateT s g Int #

adjacentVertices :: Vertex (StateT s g) -> StateT s g [Vertex (StateT s g)] #

AdjacencyListGraph g => AdjacencyListGraph (IdentityT g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

(AdjacencyListGraph g, Error e) => AdjacencyListGraph (ErrorT e g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (ErrorT e g) -> ErrorT e g (Vertex (ErrorT e g)) #

target :: Edge (ErrorT e g) -> ErrorT e g (Vertex (ErrorT e g)) #

outEdges :: Vertex (ErrorT e g) -> ErrorT e g [Edge (ErrorT e g)] #

outDegree :: Vertex (ErrorT e g) -> ErrorT e g Int #

adjacentVertices :: Vertex (ErrorT e g) -> ErrorT e g [Vertex (ErrorT e g)] #

AdjacencyListGraph g => AdjacencyListGraph (ReaderT e g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (ReaderT e g) -> ReaderT e g (Vertex (ReaderT e g)) #

target :: Edge (ReaderT e g) -> ReaderT e g (Vertex (ReaderT e g)) #

outEdges :: Vertex (ReaderT e g) -> ReaderT e g [Edge (ReaderT e g)] #

outDegree :: Vertex (ReaderT e g) -> ReaderT e g Int #

adjacentVertices :: Vertex (ReaderT e g) -> ReaderT e g [Vertex (ReaderT e g)] #

(AdjacencyListGraph g, Monoid m) => AdjacencyListGraph (RWST r m s g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (RWST r m s g) -> RWST r m s g (Vertex (RWST r m s g)) #

target :: Edge (RWST r m s g) -> RWST r m s g (Vertex (RWST r m s g)) #

outEdges :: Vertex (RWST r m s g) -> RWST r m s g [Edge (RWST r m s g)] #

outDegree :: Vertex (RWST r m s g) -> RWST r m s g Int #

adjacentVertices :: Vertex (RWST r m s g) -> RWST r m s g [Vertex (RWST r m s g)] #

(AdjacencyListGraph g, Monoid m) => AdjacencyListGraph (RWST r m s g) # 
Instance details

Defined in Data.Graph.Class.AdjacencyList

Methods

source :: Edge (RWST r m s g) -> RWST r m s g (Vertex (RWST r m s g)) #

target :: Edge (RWST r m s g) -> RWST r m s g (Vertex (RWST r m s g)) #

outEdges :: Vertex (RWST r m s g) -> RWST r m s g [Edge (RWST r m s g)] #

outDegree :: Vertex (RWST r m s g) -> RWST r m s g Int #

adjacentVertices :: Vertex (RWST r m s g) -> RWST r m s g [Vertex (RWST r m s g)] #

ask :: AdjacencyList i (Array i [i]) #