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.AdjacencyMatrix

Description

 

Documentation

newtype AdjacencyMatrix arr i a Source #

Constructors

AdjacencyMatrix 

Fields

Instances

Monad (AdjacencyMatrix arr i) Source # 

Methods

(>>=) :: AdjacencyMatrix arr i a -> (a -> AdjacencyMatrix arr i b) -> AdjacencyMatrix arr i b #

(>>) :: AdjacencyMatrix arr i a -> AdjacencyMatrix arr i b -> AdjacencyMatrix arr i b #

return :: a -> AdjacencyMatrix arr i a #

fail :: String -> AdjacencyMatrix arr i a #

Functor (AdjacencyMatrix arr i) Source # 

Methods

fmap :: (a -> b) -> AdjacencyMatrix arr i a -> AdjacencyMatrix arr i b #

(<$) :: a -> AdjacencyMatrix arr i b -> AdjacencyMatrix arr i a #

Applicative (AdjacencyMatrix arr i) Source # 

Methods

pure :: a -> AdjacencyMatrix arr i a #

(<*>) :: AdjacencyMatrix arr i (a -> b) -> AdjacencyMatrix arr i a -> AdjacencyMatrix arr i b #

liftA2 :: (a -> b -> c) -> AdjacencyMatrix arr i a -> AdjacencyMatrix arr i b -> AdjacencyMatrix arr i c #

(*>) :: AdjacencyMatrix arr i a -> AdjacencyMatrix arr i b -> AdjacencyMatrix arr i b #

(<*) :: AdjacencyMatrix arr i a -> AdjacencyMatrix arr i b -> AdjacencyMatrix arr i a #

Ord i => Graph (AdjacencyMatrix arr i) Source # 

Associated Types

type Vertex (AdjacencyMatrix arr i :: * -> *) :: * Source #

type Edge (AdjacencyMatrix arr i :: * -> *) :: * Source #

(IArray arr Bool, Ix i) => AdjacencyMatrixGraph (AdjacencyMatrix arr i) Source # 
type Vertex (AdjacencyMatrix arr i) Source # 
type Vertex (AdjacencyMatrix arr i) = i
type Edge (AdjacencyMatrix arr i) Source # 
type Edge (AdjacencyMatrix arr i) = (i, i)

class Graph g => AdjacencyMatrixGraph g Source #

Minimal complete definition

edge

Instances

AdjacencyMatrixGraph Identity Source # 
AdjacencyMatrixGraph g => AdjacencyMatrixGraph (MaybeT g) Source # 

Methods

edge :: Vertex (MaybeT g) -> Vertex (MaybeT g) -> MaybeT g (Maybe (Edge (MaybeT g))) Source #

AdjacencyMatrixGraph g => AdjacencyMatrixGraph (Dual g) Source # 

Methods

edge :: Vertex (Dual g) -> Vertex (Dual g) -> Dual g (Maybe (Edge (Dual g))) Source #

(AdjacencyMatrixGraph g, Monoid m) => AdjacencyMatrixGraph (WriterT m g) Source # 

Methods

edge :: Vertex (WriterT m g) -> Vertex (WriterT m g) -> WriterT m g (Maybe (Edge (WriterT m g))) Source #

(AdjacencyMatrixGraph g, Monoid m) => AdjacencyMatrixGraph (WriterT m g) Source # 

Methods

edge :: Vertex (WriterT m g) -> Vertex (WriterT m g) -> WriterT m g (Maybe (Edge (WriterT m g))) Source #

AdjacencyMatrixGraph g => AdjacencyMatrixGraph (StateT s g) Source # 

Methods

edge :: Vertex (StateT s g) -> Vertex (StateT s g) -> StateT s g (Maybe (Edge (StateT s g))) Source #

AdjacencyMatrixGraph g => AdjacencyMatrixGraph (StateT s g) Source # 

Methods

edge :: Vertex (StateT s g) -> Vertex (StateT s g) -> StateT s g (Maybe (Edge (StateT s g))) Source #

AdjacencyMatrixGraph g => AdjacencyMatrixGraph (IdentityT * g) Source # 

Methods

edge :: Vertex (IdentityT * g) -> Vertex (IdentityT * g) -> IdentityT * g (Maybe (Edge (IdentityT * g))) Source #

(AdjacencyMatrixGraph g, Error e) => AdjacencyMatrixGraph (ErrorT e g) Source # 

Methods

edge :: Vertex (ErrorT e g) -> Vertex (ErrorT e g) -> ErrorT e g (Maybe (Edge (ErrorT e g))) Source #

(IArray arr Bool, Ix i) => AdjacencyMatrixGraph (AdjacencyMatrix arr i) Source # 
AdjacencyMatrixGraph g => AdjacencyMatrixGraph (ReaderT * e g) Source # 

Methods

edge :: Vertex (ReaderT * e g) -> Vertex (ReaderT * e g) -> ReaderT * e g (Maybe (Edge (ReaderT * e g))) Source #

(AdjacencyMatrixGraph g, Monoid m) => AdjacencyMatrixGraph (RWST r m s g) Source # 

Methods

edge :: Vertex (RWST r m s g) -> Vertex (RWST r m s g) -> RWST r m s g (Maybe (Edge (RWST r m s g))) Source #

(AdjacencyMatrixGraph g, Monoid m) => AdjacencyMatrixGraph (RWST r m s g) Source # 

Methods

edge :: Vertex (RWST r m s g) -> Vertex (RWST r m s g) -> RWST r m s g (Maybe (Edge (RWST r m s g))) Source #

ask :: AdjacencyMatrix arr i (arr (i, i) Bool) Source #