algebraic-graphs: A library for algebraic graph construction and transformation

[ algebra, algorithms, data-structures, graphs, library, mit ] [ Propose Tags ]

A library for algebraic construction and manipulation of graphs in Haskell. See this paper for the motivation behind the library, the underlying theory and implementation details.

The top-level module Algebra.Graph defines the core data type Algebra.Graph.Graph which is a deep embedding of four graph construction primitives Algebra.Graph.empty, Algebra.Graph.vertex, Algebra.Graph.overlay and Algebra.Graph.connect. More conventional graph representations can be found in Algebra.Graph.AdjacencyMap and Algebra.Graph.Relation.

The type classes defined in Algebra.Graph.Class and Algebra.Graph.HigherKinded.Class can be used for polymorphic graph construction and manipulation. Also see Algebra.Graph.Fold that defines the Boehm-Berarducci encoding of algebraic graphs and provides additional flexibility for polymorphic graph manipulation.

This is an experimental library and the API will be unstable until version 1.0.0.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.1.0, 0.1.1, 0.1.1.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6.1, 0.7
Dependencies array (>=0.5 && <0.8), base (>=4.9 && <5), containers (>=0.5 && <0.8) [details]
License MIT
Copyright Andrey Mokhov, 2016-2017
Author Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
Maintainer Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
Category Algebra, Algorithms, Data Structures, Graphs
Home page https://github.com/snowleopard/alga
Source repo head: git clone https://github.com/snowleopard/alga.git
Uploaded by snowleopard at 2017-03-24T04:23:52Z
Distributions Arch:0.7, LTSHaskell:0.7, NixOS:0.7, Stackage:0.7
Reverse Dependencies 21 direct, 59 indirect [details]
Downloads 25709 total (277 in the last 30 days)
Rating 2.75 (votes: 7) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-03-24 [all 1 reports]

Readme for algebraic-graphs-0.0.1

[back to package description]

Algebraic graphs

Linux & OS X status Windows status

A library for algebraic construction and manipulation of graphs in Haskell. See this paper for the motivation behind the library, the underlying theory and implementation details.

The following series of blog posts also describe the ideas behind the library:

Some preliminary benchmarks can be found in doc/benchmarks.