Name: comfort-graph
Version: 0.0.3.1
Synopsis: Graph structure with type parameters for nodes and edges
Description:
This graph structure is based on "Data.Map"
and allows any 'Ord' type for nodes
and allows directed, undirected and more edge types.
There is no need to map nodes to integer numbers.
This makes handling in applications much more comfortable,
thus the package name.
.
Currently the package does not contain any advanced algorithm,
just the data structure and some manipulation functions.
.
The edge type can be freely chosen.
This allows great flexibility
but it is a bit more cumbersome to do in Haskell 98.
Examples of edge types:
.
* @DirEdge@: Edges in a directed graph
.
* @UndirEdge@: Edges in an undirected graph
.
* @EitherEdge@: For graphs containing both directed and undirected edges
.
* You may define an edge type with an additional identifier
in order to support multiple edges between the same pair of nodes.
.
* Using type functions on the node type
you may even define an edge type for nodes from a Cartesian product,
where only \"horizontal\" and \"vertical\" edges are allowed.
.
For examples see the @linear-circuit@ package and its tests.
The @ResistorCube@ test demonstrates non-integer node types
and the @Tree@ test demonstrates multigraphs.
.
The package is plain Haskell 98.
.
Related packages:
.
* @fgl@:
standard package for graph processing with many graph algorithms
but cumbersome data structure with Int numbered nodes
Homepage: http://hub.darcs.net/thielema/comfort-graph
License: BSD3
License-File: LICENSE
Author: Henning Thielemann
Maintainer: haskell@henning-thielemann.de
Category: Data
Build-Type: Simple
Cabal-Version: >=1.10
Source-Repository this
Tag: 0.0.3.1
Type: darcs
Location: http://hub.darcs.net/thielema/comfort-graph
Source-Repository head
Type: darcs
Location: http://hub.darcs.net/thielema/comfort-graph
Library
Exposed-Modules:
Data.Graph.Comfort
Other-Modules:
Data.Graph.Comfort.Map
-- ToDo: should be replaced by future version of total-map
Data.Graph.Comfort.TotalMap
Build-Depends:
QuickCheck >=2.5 && <3,
containers >=0.4 && <0.7,
transformers >=0.5 && <0.6,
semigroups >=0.1 && <1.0,
utility-ht >=0.0.10 && <0.1,
base >=4.5 && <5
Hs-Source-Dirs: src
Default-Language: Haskell2010
GHC-Options: -Wall
If impl(ghc>=8.0)
GHC-Options: -fno-warn-redundant-constraints
Test-Suite test-comfort-graph
Type: exitcode-stdio-1.0
Hs-Source-Dirs: test
Main-is: Main.hs
Build-Depends:
comfort-graph,
QuickCheck >=2 && <3,
transformers,
containers,
utility-ht,
base
Default-Language: Haskell2010
GHC-Options: -Wall