graphs-0.7.2: 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-Inferred
LanguageHaskell2010

Data.Graph.Dual

Description

 

Documentation

newtype Dual g a Source #

Constructors

Dual 

Fields

Instances

Instances details
MonadTrans Dual Source # 
Instance details

Defined in Data.Graph.Dual

Methods

lift :: Monad m => m a -> Dual m a #

Monad g => Monad (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Methods

(>>=) :: Dual g a -> (a -> Dual g b) -> Dual g b #

(>>) :: Dual g a -> Dual g b -> Dual g b #

return :: a -> Dual g a #

Functor g => Functor (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Methods

fmap :: (a -> b) -> Dual g a -> Dual g b #

(<$) :: a -> Dual g b -> Dual g a #

Applicative g => Applicative (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Methods

pure :: a -> Dual g a #

(<*>) :: Dual g (a -> b) -> Dual g a -> Dual g b #

liftA2 :: (a -> b -> c) -> Dual g a -> Dual g b -> Dual g c #

(*>) :: Dual g a -> Dual g b -> Dual g b #

(<*) :: Dual g a -> Dual g b -> Dual g a #

Graph g => Graph (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Associated Types

type Vertex (Dual g) Source #

type Edge (Dual g) Source #

Methods

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

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

VertexEnumerableGraph g => VertexEnumerableGraph (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Methods

vertices :: Dual g [Vertex (Dual g)] Source #

EdgeEnumerableGraph g => EdgeEnumerableGraph (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Methods

edges :: Dual g [Edge (Dual g)] Source #

AdjacencyMatrixGraph g => AdjacencyMatrixGraph (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

Methods

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

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

Defined in Data.Graph.Dual

Methods

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

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

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

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

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

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

Defined in Data.Graph.Dual

type Vertex (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

type Vertex (Dual g) = Vertex g
type Edge (Dual g) Source # 
Instance details

Defined in Data.Graph.Dual

type Edge (Dual g) = Edge g