algebraic-graphs
Version 0.1.1 revision 0 uploaded by snowleopard.
Package meta
- Synopsis
- A library for algebraic graph construction and transformation
- Description
Alga is 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 Graph, which is a deep embedding of four graph construction primitives empty, vertex, overlay and connect. To represent non-empty graphs, see Algebra.Graph.NonEmpty. 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 is expected to remain unstable until version 1.0.0. Please consider contributing to the on-going discussions on the library API.
- Author
- Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
- Bug reports
- n/a
- Category
- Algebra, Algorithms, Data Structures, Graphs
- Copyright
- Andrey Mokhov, 2016-2018
- Homepage
- https://github.com/snowleopard/alga
- Maintainer
- Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
- Package URL
- n/a
- Stability
- experimental