algebraic-graphs 0.1.0 → 0.1.1
raw patch · 4 files changed
+18/−7 lines, 4 filesdep ~QuickCheckPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: QuickCheck
API changes (from Hackage documentation)
Files
- CHANGES.md +5/−0
- README.md +4/−1
- algebraic-graphs.cabal +5/−3
- src/Algebra/Graph.hs +4/−3
CHANGES.md view
@@ -1,5 +1,10 @@ # Change log +## 0.1.1 + +* #58: Update documentation. +* #57: Allow newer QuickCheck. + ## 0.1.0 * Start complying with PVP.
README.md view
@@ -13,7 +13,7 @@ of the library: ```haskell-data Graph a = Empty | Vertex a | Overlay (Graph a) (Graph a) | Connect (Graph a) (Graph a) +data Graph a = Empty | Vertex a | Overlay (Graph a) (Graph a) | Connect (Graph a) (Graph a) ``` We can give the following semantics to the constructors in terms of the pair **(V, E)** of graph *vertices* and *edges*:@@ -47,6 +47,9 @@ graph can be represented by an expression. Other types of graphs (e.g. undirected) can be obtained by modifying the above set of laws. Algebraic graphs provide a convenient, safe and powerful interface for working with graphs in Haskell, and allow the application of equational reasoning for proving the correctness of graph algorithms.++To represent *non-empty graphs*, we can drop the `Empty` constructor -- see module+[Algebra.Graph.NonEmpty](http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-NonEmpty.html). ## How fast is the library?
algebraic-graphs.cabal view
@@ -1,5 +1,5 @@ name: algebraic-graphs-version: 0.1.0+version: 0.1.1 synopsis: A library for algebraic graph construction and transformation license: MIT license-file: LICENSE@@ -26,7 +26,9 @@ defines the core data type <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph.html#t:Graph Graph>, which is a deep embedding of four graph construction primitives /empty/,- /vertex/, /overlay/ and /connect/. More conventional graph representations can be found in+ /vertex/, /overlay/ and /connect/. To represent non-empty graphs, see+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-NonEmpty.html Algebra.Graph.NonEmpty>.+ More conventional graph representations can be found in <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-AdjacencyMap.html Algebra.Graph.AdjacencyMap> and <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Relation.html Algebra.Graph.Relation>.@@ -122,7 +124,7 @@ base-orphans >= 0.5.4 && < 0.8, containers >= 0.5.5.1 && < 0.8, extra >= 1.5,- QuickCheck >= 2.9 && < 2.11+ QuickCheck >= 2.9 && < 2.12 if !impl(ghc >= 8.0) build-depends: semigroups >= 0.18.3 && < 0.18.4 default-language: Haskell2010
src/Algebra/Graph.hs view
@@ -12,9 +12,10 @@ -- motivation behind the library, the underlying theory, and implementation details. -- -- This module defines the core data type 'Graph' and associated algorithms.--- 'Graph' is an instance of type classes defined in modules "Algebra.Graph.Class"--- and "Algebra.Graph.HigherKinded.Class", which can be used for polymorphic--- graph construction and manipulation.+-- For graphs that are known to be /non-empty/ at compile time, see+-- "Algebra.Graph.NonEmpty". 'Graph' is an instance of type classes defined in+-- modules "Algebra.Graph.Class" and "Algebra.Graph.HigherKinded.Class", which+-- can be used for polymorphic graph construction and manipulation. -- ----------------------------------------------------------------------------- module Algebra.Graph (