[Haskell-cafe] Creating a dependency graph (in the hope it may show some structure)

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Wed May 2 00:49:36 CEST 2012


On 2 May 2012 06:15, Bram Neijt <bneijt at gmail.com> wrote:
> Dear Haskelllers,
>
> I've reacently started with Haskell and during the Dutch Hackaton[3],
> I decided to generate graphs of dependencies. I was thinking about
> doing this for Java earlier, and that weekend I decided to write the
> tooling in Haskell.

Just to be clear, what are you referring to by "dependencies":

* Package dependencies

* Inter-module dependencies

* Call-graph dependencies

And are you doing this on a per-module or a per-package basis?

>
> I've written two programs: hs2dot[1] and dotimate[2]. The first
> generates a dot file (Graphviz) from all .hs files below the current
> working directory. The second will take one or more dot files and call
> neato (from Graphviz) multiple times to generate frames of neato
> output from one to the next.
>
> Trying hs2dot and dotimate on two sequencial commits in the
> cabal/cabal-install/frames directory already gives me a way to complex
> and full graph. See attached.
>
> ==> My question is: What dependencies, if any, would be nice to graph,
> and/or which dependencies could I filter out to keep this from
> becoming a mess?

First of all, consider this list of existing graph-based visualisation
tools for Haskell and see if any have some features you can duplicate:
http://stackoverflow.com/questions/7427094/generate-diagrams-for-haskell-code

I know in SourceGraph, my take was to try and do different kinds of
pruning, collapsing, etc. to shrink the information overload down
(however, I haven't touched SourceGraph apart from dependency updates
for quite a while).

>
> Greetings,
>
> Bram Neijt
>
> [1] https://gist.github.com/bneijt/hs2dot
> [2] https://gist.github.com/bneijt/dotimate
> [3] http://www.haskell.org/haskellwiki/DHD_UHac#Utrecht_Hackathon
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
http://IvanMiljenovic.wordpress.com



More information about the Haskell-Cafe mailing list