graphs-0.4.1: A simple monadic graph library

Portabilitytype families
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellSafe-Inferred

Data.Graph.Class

Description

 

Documentation

class (Monad g, Eq (Vertex g), Eq (Edge g)) => Graph g whereSource

Associated Types

type Vertex g :: *Source

type Edge g :: *Source

Methods

vertexMap :: a -> g (VertexMap g a)Source

edgeMap :: a -> g (EdgeMap g a)Source

Instances

Graph Identity

The empty graph

(Monad (MaybeT g), Eq (Vertex (MaybeT g)), Eq (Edge (MaybeT g)), Graph g) => Graph (MaybeT g) 
(Monad (IdentityT g), Eq (Vertex (IdentityT g)), Eq (Edge (IdentityT g)), Graph g) => Graph (IdentityT g) 
(Monad (Dual g), Eq (Vertex (Dual g)), Eq (Edge (Dual g)), Graph g) => Graph (Dual g) 
(Monad (AdjacencyList i), Eq (Vertex (AdjacencyList i)), Eq (Edge (AdjacencyList i)), Ord i) => Graph (AdjacencyList i) 
(Monad (WriterT m g), Eq (Vertex (WriterT m g)), Eq (Edge (WriterT m g)), Graph g, Monoid m) => Graph (WriterT m g) 
(Monad (WriterT m g), Eq (Vertex (WriterT m g)), Eq (Edge (WriterT m g)), Graph g, Monoid m) => Graph (WriterT m g) 
(Monad (StateT s g), Eq (Vertex (StateT s g)), Eq (Edge (StateT s g)), Graph g) => Graph (StateT s g) 
(Monad (StateT s g), Eq (Vertex (StateT s g)), Eq (Edge (StateT s g)), Graph g) => Graph (StateT s g) 
(Monad (ReaderT m g), Eq (Vertex (ReaderT m g)), Eq (Edge (ReaderT m g)), Graph g) => Graph (ReaderT m g) 
(Monad (ErrorT e g), Eq (Vertex (ErrorT e g)), Eq (Edge (ErrorT e g)), Graph g, Error e) => Graph (ErrorT e g) 
(Monad (AdjacencyMatrix arr i), Eq (Vertex (AdjacencyMatrix arr i)), Eq (Edge (AdjacencyMatrix arr i)), Ord i) => Graph (AdjacencyMatrix arr i) 
(Monad (RWST r w s g), Eq (Vertex (RWST r w s g)), Eq (Edge (RWST r w s g)), Graph g, Monoid w) => Graph (RWST r w s g) 
(Monad (RWST r w s g), Eq (Vertex (RWST r w s g)), Eq (Edge (RWST r w s g)), Graph g, Monoid w) => Graph (RWST r w s g) 

liftVertexMap :: (MonadTrans t, Graph (t g), Graph g, Vertex (t g) ~ Vertex g) => a -> t g (VertexMap (t g) a)Source

liftEdgeMap :: (MonadTrans t, Graph (t g), Graph g, Edge (t g) ~ Edge g) => a -> t g (EdgeMap (t g) a)Source