Apologies if this request isn't 'appropriate' for this venue (perhaps it's a Haskell' request and/or has been discussed before)... I'd like it if there were a "Data.Graph" in the base libraries with basic graph-theoretic operations. Is this something that's been discussed? For now, it appears that Graphalyze on Hackage is the most complete library for graph analysis; is that right? (I actually usually just want a pretty small subset of its functionality.) Thanks, Lee
Sorry for the duplicate email Lee, but I somehow forgot to CC the mailing list :s On 31 March 2010 13:12, Lee Pike <leepike@gmail.com> wrote:
I'd like it if there were a "Data.Graph" in the base libraries with basic graph-theoretic operations. Is this something that's been discussed?
I'm kinda working on a replacement to Data.Graph that will provide graph-theoretic operations to a variety of graph types.
For now, it appears that Graphalyze on Hackage is the most complete library for graph analysis; is that right? (I actually usually just want a pretty small subset of its functionality.)
Yay, someone likes my code! :p I've been thinking about splitting off the algorithms section of Graphalyze for a while; maybe I should do so now... (though I was going to merge it into the above mentioned so-far-mainly-vapourware library...). There are a few other alternatives: * FGL has a variety of graph operations (but I ended up re-implementing a lot of the ones I wanted in Graphalyze because FGL returns lists of nodes and I wanted the resulting graphs for things like connected components, etc.). * The dom-lt library * GraphSCC * hgal (which is a really atrocious port of nauty that is extremely inefficient; I've started work on a replacement) * astar (which is "generic" for all graph types since you provide functions on the graph as arguments) With the exception of FGL, all of these are basically libraries that implement one particular algorithm/operation. -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com
Thanks, Ivan, for the note about the other alternatives and about possible additions to your library (and of course for the library itself!). I should mention that I completely missed containers in the hierarchical libraries (I was just looking in the base libraries). Sorry about that. Lee On Mar 30, 2010, at 7:23 PM, Ivan Miljenovic wrote:
Sorry for the duplicate email Lee, but I somehow forgot to CC the mailing list :s
On 31 March 2010 13:12, Lee Pike <leepike@gmail.com> wrote:
I'd like it if there were a "Data.Graph" in the base libraries with basic graph-theoretic operations. Is this something that's been discussed?
I'm kinda working on a replacement to Data.Graph that will provide graph-theoretic operations to a variety of graph types.
For now, it appears that Graphalyze on Hackage is the most complete library for graph analysis; is that right? (I actually usually just want a pretty small subset of its functionality.)
Yay, someone likes my code! :p
I've been thinking about splitting off the algorithms section of Graphalyze for a while; maybe I should do so now... (though I was going to merge it into the above mentioned so-far-mainly-vapourware library...).
There are a few other alternatives:
* FGL has a variety of graph operations (but I ended up re-implementing a lot of the ones I wanted in Graphalyze because FGL returns lists of nodes and I wanted the resulting graphs for things like connected components, etc.). * The dom-lt library * GraphSCC * hgal (which is a really atrocious port of nauty that is extremely inefficient; I've started work on a replacement) * astar (which is "generic" for all graph types since you provide functions on the graph as arguments)
With the exception of FGL, all of these are basically libraries that implement one particular algorithm/operation.
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com
Lee Pike <leepike@gmail.com> writes:
I should mention that I completely missed containers in the hierarchical libraries (I was just looking in the base libraries). Sorry about that.
Oh, I thought you had done what most of us do: seen Data.Graph in containers and promptly dismissed it... >_> (IIRC, it doesn't really have many graph operations defined there.) -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com
Oh, I thought you had done what most of us do: seen Data.Graph in containers and promptly dismissed it... >_>
(IIRC, it doesn't really have many graph operations defined there.)
Yes, you're right---I just wanted to acknowledge that I'd missed that there was *something* there... Lee
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. -Edward Kmett On Tue, Mar 30, 2010 at 10:23 PM, Ivan Miljenovic <ivan.miljenovic@gmail.com
wrote:
Sorry for the duplicate email Lee, but I somehow forgot to CC the mailing list :s
On 31 March 2010 13:12, Lee Pike <leepike@gmail.com> wrote:
I'd like it if there were a "Data.Graph" in the base libraries with basic graph-theoretic operations. Is this something that's been discussed?
I'm kinda working on a replacement to Data.Graph that will provide graph-theoretic operations to a variety of graph types.
For now, it appears that Graphalyze on Hackage is the most complete library for graph analysis; is that right? (I actually usually just want a pretty small subset of its functionality.)
Yay, someone likes my code! :p
I've been thinking about splitting off the algorithms section of Graphalyze for a while; maybe I should do so now... (though I was going to merge it into the above mentioned so-far-mainly-vapourware library...).
There are a few other alternatives:
* FGL has a variety of graph operations (but I ended up re-implementing a lot of the ones I wanted in Graphalyze because FGL returns lists of nodes and I wanted the resulting graphs for things like connected components, etc.). * The dom-lt library * GraphSCC * hgal (which is a really atrocious port of nauty that is extremely inefficient; I've started work on a replacement) * astar (which is "generic" for all graph types since you provide functions on the graph as arguments)
With the exception of FGL, all of these are basically libraries that implement one particular algorithm/operation.
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (4)
-
Edward Kmett -
Ivan Lazar Miljenovic -
Ivan Miljenovic -
Lee Pike