graphs-0.5.0.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

Graph g => Graph (IdentityT g) 
Graph g => Graph (MaybeT g) 
Graph g => Graph (Dual g) 
Ord i => Graph (AdjacencyList i) 
Graph g => Graph (StateT s g) 
Graph g => Graph (StateT s g) 
(Graph g, Monoid m) => Graph (WriterT m g) 
(Graph g, Monoid m) => Graph (WriterT m g) 
(Graph g, Error e) => Graph (ErrorT e g) 
Graph g => Graph (ReaderT m g) 
Ord i => Graph (AdjacencyMatrix arr i) 
(Graph g, Monoid w) => Graph (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