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">&lt;<a href="mailto:ivan.miljenovic@gmail.com">ivan.miljenovic@gmail.com</a>&gt;</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 &lt;<a href="mailto:leepike@gmail.com">leepike@gmail.com</a>&gt; wrote:<br>
&gt; I&#39;d like it if there were a &quot;Data.Graph&quot; in the base libraries with basic<br>
&gt; graph-theoretic operations.  Is this something that&#39;s been discussed?<br>
<br>
</div>I&#39;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>
&gt; For now, it appears that Graphalyze on Hackage is the most complete library<br>
&gt; for graph analysis; is that right?  (I actually usually just want a pretty<br>
&gt; small subset of its functionality.)<br>
<br>
</div>Yay, someone likes my code! :p<br>
<br>
I&#39;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&#39;ve started work on a replacement)<br>
* astar (which is &quot;generic&quot; 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>