There are a number of us over on #hnn on freenode hacking away on the beginnings of a shiny new graph library based on some new tricks for annotated structures. Feel free to swing by the channel.<br><br>-Edward Kmett<br><br>
<div class="gmail_quote">On Tue, Mar 30, 2010 at 10:23 PM, Ivan Miljenovic <span dir="ltr"><<a href="mailto:ivan.miljenovic@gmail.com">ivan.miljenovic@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Sorry for the duplicate email Lee, but I somehow forgot to CC the<br>
mailing list :s<br>
<div class="im"><br>
On 31 March 2010 13:12, Lee Pike <<a href="mailto:leepike@gmail.com">leepike@gmail.com</a>> wrote:<br>
> I'd like it if there were a "Data.Graph" in the base libraries with basic<br>
> graph-theoretic operations. Is this something that's been discussed?<br>
<br>
</div>I'm kinda working on a replacement to Data.Graph that will provide<br>
graph-theoretic operations to a variety of graph types.<br>
<div class="im"><br>
> For now, it appears that Graphalyze on Hackage is the most complete library<br>
> for graph analysis; is that right? (I actually usually just want a pretty<br>
> small subset of its functionality.)<br>
<br>
</div>Yay, someone likes my code! :p<br>
<br>
I've been thinking about splitting off the algorithms section of<br>
Graphalyze for a while; maybe I should do so now... (though I was<br>
going to merge it into the above mentioned so-far-mainly-vapourware<br>
library...).<br>
<br>
There are a few other alternatives:<br>
<br>
* FGL has a variety of graph operations (but I ended up<br>
re-implementing a lot of the ones I wanted in Graphalyze because FGL<br>
returns lists of nodes and I wanted the resulting graphs for things<br>
like connected components, etc.).<br>
* The dom-lt library<br>
* GraphSCC<br>
* hgal (which is a really atrocious port of nauty that is extremely<br>
inefficient; I've started work on a replacement)<br>
* astar (which is "generic" for all graph types since you provide<br>
functions on the graph as arguments)<br>
<br>
With the exception of FGL, all of these are basically libraries that<br>
implement one particular algorithm/operation.<br>
<font color="#888888"><br>
--<br>
Ivan Lazar Miljenovic<br>
<a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" target="_blank">IvanMiljenovic.wordpress.com</a><br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>