[Haskell-beginners] Relatively simple undirected graph library?

Stefan Höck efasckenoth at gmail.com
Fri Feb 27 07:26:56 UTC 2015


Dear list

Sorry that it took so long. The usual excuses apply: Two little
children, other priorities at work, had to write two more monad
tutorials.

For better or worse, here is a first draft of a labeled graph library.

  https://github.com/stefan-hoeck/labeled-graph

This is all highly experimental. No unit tests so far and
lots of stuff is still missing, so feel free to contribute. In the next
couple of days, I'll add some more type class instances to LGraphs
(Foldable, Traversable, Bifunctor, Bifoldable, Bitraversable).

The implementation might well still change. One implementation detail
that is different compared to other graph libraries: Edges are
represented as Ints internally, so the maximal vertex is
limited by the square of the largest Int, which is rather low
on 32 bit systems. This is a typical case of bad preliminary optimisation,
since I hope that using this implementation we can use efficient
IntMaps to store edge labels. It's well possible, that this will
change in the future.

Please note also that I will use the library mainly in a cheminformatics
project, where graphs typically are small and sparse (vertices are
almost always of degree four or lower).

Grüsse aus Zürich

Stefan

On Wed, Feb 25, 2015 at 11:30:54PM +0100, Torsten Otto wrote:
> I second that it would be terrific to see this posted.
> 
> Regards from Hamburg,
> Torsten
> 


More information about the Beginners mailing list