[Haskell-beginners] Relatively simple undirected graph library?

Stuart Hungerford stuart.hungerford at gmail.com
Sun Jan 4 20:51:57 UTC 2015


I've recently started learning Haskell and I'm looking for a library
to create and manipulate undirected graphs for a small learning
project.  Ideally I'd like to be able to:

- represent undirected or directed graphs with vertex type a and edge type b

- not need to manually maintain mappings between vertex values and
vertices assumed to be integers

- be able to add and remove vertices and edges by their values with
appropriate checks for missing vertices etc

- find the connected components of a graph

Looking on Hackage I can see some very sophisticated graph libraries
including Data.Graph and Data.Graph.Inductive and others, but they all
seem to need vertices to be integers or not support changing the graph
once constructed.

This may well be my ignorance of both graph theory and Haskell but can
someone point me to a library that meets my needs or should I extend
the learning process and create one myself?



More information about the Beginners mailing list