v220.127.116.11 ChangesJuly 25, 2015
- Only create
NFDatainstances for GHC >= 7.4.1.
- Only create
v18.104.22.168 ChangesJuly 22, 2015
📚 Documentation, clean-up and refactoring of various parts of the library.
- As part of this, various types now have instances for classes
NFData, etc. where applicable.
- In particular, the various options for use with depth-first search and shortest path queries was documented by David Luposchainsky.
- As part of this, various types now have instances for classes like
➕ Addition of a proper test-suite. So far it covers the
Data.Graph.Inductive.Graphmodule and all
Data.Graph.Inductive.Query.*modules except for
- The tests are also automatically run for every (set of) commits thanks to Travis-CI.
Arbitrary instances for the two graph types are now available in the new
Now depends solely on the
transformerslibrary rather than
Potentially breaking changes:
These changes are those where the behaviour was un-specified or didn't match the documentation.
nodeRangeMfor the various graph data structures erroneously returned
(0,0)for empty graphs (making them indistinguishable from graphs containing the single node
0). They now match the default implementation of throwing an error.
- The behaviour of
delLEdgewhen dealing with multiple edges was unspecified; it now deletes only a single edge and the new function
delAllLEdgedeletes all edges matching the one provided.
➕ Additional functions thanks to Sergiu Ivanov:
- Creating sub-graphs by
Context-filtering as well as induced by a set of
- Graph condensation (i.e. graph of strongly-connected-components).
- Various edge- and neighbor-based helper functions.
- Creating sub-graphs by
The graph types now have
Genericinstances thanks to Piotr Mlodawski.
OrdGrwrapper by Trevor Cook allows performing
Ord-based comparisons on graphs.
👌 Support added for GHC 7.10 by Herbert Valerio Riedel.
➕ Additional DFS query functions added by Conrad Parker.
Repository location changed to GitHub.
- Replaced usage of internal FiniteMap copy with Data.Map and Data.Set from the containers library.
- Remove usage of data type contexts.
- Use newtypes where applicable.
- 🛠 Fix up Eq instances for Tree and PatriciaTree so that they work with multiple edges.
➕ Add proper Show, Read and Eq instances to Data.Graph.Inductive.Tree and Data.Graph.Inductive.PatriciaTree.
➕ Add pretty-printing functions to Data.Graph.Inductive.Graph. These are based upon the old Show implementation for Data.Graph.Inductive.Tree.
0️⃣ Now use PatriciaTree by default rather than Tree (and recommend as such). IntMap has been receiving a lot of optimisation work on it, whereas the internal FiniteMap implementation hasn't received any attention.
version :: IO ()action now uses the actual Cabal version.
✂ Remove Data.Graph.Inductive.Graphviz; use the graphviz package instead.
v5.4.2 ChangesMay 01, 2008
➕ added Setup.hs to tar file
reimplementation of Data.Graph.Inductive.Query.Dominators by Bertram Felgenhauer:
It was buggy and very slow for large graphs. See http://www.haskell.org/pipermail/haskell-cafe/2008-April/041739.html
This patch also adds a new function, iDom, that returns the immediate dominators of the graph nodes.
Exported xdf*With functions from DFS.hs
many little cleanups thanks to many people (use 'darcs changes' to see the details)
- ⚡️ Update to work with GHC-7.2 and Cabal-1.6.
Maintainership taken over by Ivan Miljenovic.
👍 Allow Data.Graph.Inductive.PatriciaTree to deal with multiple edges between nodes.
v22.214.171.124 ChangesNovember 01, 2008
- 🛠 Bugfix in Graphviz.sq
v126.96.36.199 ChangesJune 01, 2008
🐛 bug fix in bcc by Reid Barton
➕ added new dynamic graph implementation: Data.Graph.Inductive.PatriciaTree (thanks to Pho)
➕ added test/benchmark.hs: a benchmark to compare Tree and PatriciaTree implementations (thanks to Pho)