# comfort-graph: Graph structure with type parameters for nodes and edges

**This is a package candidate release!** Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

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 edgesYou 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

## Properties

Versions | 0.0, 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.1, 0.0.2, 0.0.2.1, 0.0.3, 0.0.3.1, 0.0.3.1, 0.0.3.2, 0.0.3.3, 0.0.4 |
---|---|

Change log | None available |

Dependencies | base (>=4.5 && <5), containers (>=0.4 && <0.7), QuickCheck (>=2.5 && <3), semigroups (>=0.1 && <1.0), transformers (>=0.5 && <0.6), utility-ht (>=0.0.10 && <0.1) [details] |

License | BSD-3-Clause |

Author | Henning Thielemann |

Maintainer | haskell@henning-thielemann.de |

Category | Data |

Home page | http://hub.darcs.net/thielema/comfort-graph |

Source repo | this: darcs get http://hub.darcs.net/thielema/comfort-graph --tag 0.0.3.1 head: darcs get http://hub.darcs.net/thielema/comfort-graph |

Uploaded | by HenningThielemann at 2018-08-31T16:09:13Z |

## Modules

[Index] [Quick Jump]

*Data**Graph*

## Downloads

- comfort-graph-0.0.3.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)

#### Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees