haggle-0.1.0.0: A graph library offering mutable, immutable, and inductive graphs

Safe HaskellNone
LanguageHaskell2010

Data.Graph.Haggle.PatriciaTree

Description

This graph is based on the implementation in fgl (using big-endian patricia-tries -- IntMap).

This formulation does not support parallel edges.

Synopsis

Documentation

data PatriciaTree nl el Source #

The PatriciaTree is a graph implementing the InductiveGraph interface (as well as the other immutable graph interfaces). It is based on the graph type provided by fgl.

Inductive graphs support more interesting decompositions than the other graph interfaces in this library, at the cost of less compact representations and some additional overhead on some operations, as most must go through the match operator.

This graph type is most useful for incremental construction in pure code. It also supports node removal from pure code.

Instances
(NFData nl, NFData el) => NFData (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

Methods

rnf :: PatriciaTree nl el -> () #

InductiveGraph (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

HasVertexLabel (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

Associated Types

type VertexLabel (PatriciaTree nl el) :: Type Source #

BidirectionalEdgeLabel (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

HasEdgeLabel (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

Associated Types

type EdgeLabel (PatriciaTree nl el) :: Type Source #

Bidirectional (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

Graph (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

type VertexLabel (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

type VertexLabel (PatriciaTree nl el) = nl
type EdgeLabel (PatriciaTree nl el) Source # 
Instance details

Defined in Data.Graph.Haggle.PatriciaTree

type EdgeLabel (PatriciaTree nl el) = el