[Haskell-cafe] ANN: New version of graphmod (1.2.4)

Iavor Diatchki iavor.diatchki at gmail.com
Sat Oct 4 15:22:25 UTC 2014


Hello,

Yeah, I've seen the crushes on large graphs too---looks like a bug in
graphviz, perhaps we should report it.

I have some code for laying out graphs using a force based algorithm, but
graphiz does quite a lot (e.g., supports many different formats), so I
don't have any immediate plans to write a render.

My next task for `graphmod` is to implement `Cabal` support, so that you
could easily visualize a package.

Cheers,
-Iavor




On Sat, Oct 4, 2014 at 1:04 AM, Ivan Lazar Miljenovic <
ivan.miljenovic at gmail.com> wrote:

> On 4 October 2014 17:34, Mateusz Kowalczyk <fuuzetsu at fuuzetsu.co.uk>
> wrote:
> > On 10/04/2014 01:33 AM, Iavor Diatchki wrote:
> >> Hello,
> >>
> >> Good idea!  I made a little web-page with examples and screenshots.
> Have a
> >> look:
> >>
> >> https://github.com/yav/graphmod/wiki
> >>
> >> Indeed, mutually-recursive modules are not a problem.  There is an
> example
> >> of some mutually-recursive modules in the screen-shot from GHC's
> >> type-checker.
> >>
> >> By the way, I also added some support for modules that contains CPP, and
> >> improved the layout of the graphs a bit, so the current version is
> 1.2.5.
> >>
> >> Cheers,
> >> -Iavor
> >>
> >>
> >>
> >
> > That helped a lot. I packaged graphmod (and xdot) on NixOS. It graphviz
> > kept segfaulting[2] on the file produced for Yi repository but in the
> > end it worked after I added ‘-p’ to graphmod. Also --no-cluster view at
> [3].
> >
> > Is there any plan for graphmod to do rendering itself, such as to PNG? I
> > also wonder if there's any way to highlight cyclic paths, useful when
> > trying to get rid of boot files.
>
> To do self-rendering, you would need to have a haskell implementation
> of a graph layout algorithm, and then a way to do the rendering (which
> could admittedly be done with digrams).
>
> >
> > [1]: http://fuuzetsu.co.uk/images/1412407628.png
> > [2]:
> >   libpath/shortest.c:324: triangulation failed
> >   libpath/shortest.c:192: source point not in any triangle
> >   Error: in routesplines, Pshortestpath failed
> >   out of memory
> > [3]: http://fuuzetsu.co.uk/images/1412407805.png
> >
> >>
> >> On Fri, Oct 3, 2014 at 12:43 PM, Mateusz Kowalczyk <
> fuuzetsu at fuuzetsu.co.uk>
> >> wrote:
> >>
> >>> On 10/03/2014 07:37 PM, Iavor Diatchki wrote:
> >>>> Hello,
> >>>>
> >>>> I am pleased to announce a new version of `graphmod`---a program that
> >>> helps
> >>>> you visualize the import dependencies between the modules in your
> Haskell
> >>>> programs.
> >>>>
> >>>> The new feature in version 1.2.4 is support for pruning the dependency
> >>>> graph, which is enabled with the flag -p or --prune-edges.    When
> this
> >>>> option is selected, `graphmod` will ignore imports to modules that are
> >>>> already imported by some of the dependencies of the module.
> >>>>
> >>>> For example, consider the following modules:
> >>>>
> >>>>     module A where { import B; import C }
> >>>>     module B where { import C }
> >>>>     module C where { }
> >>>>
> >>>> When generated with `--prune-edges`, the resulting graph will be:
> >>>>
> >>>>     A -> B -> C
> >>>>
> >>>> Note that there is no edge from `A` to `C`, because `C` is already
> >>> imported
> >>>> by `B`.
> >>>>
> >>>> Happy hacking,
> >>>> -Iavor
> >>>>
> >>>>
> >>>
> >>> Hi,
> >>>
> >>> It'd be great if the project page showed an example use and the
> >>> generated graph.
> >>>
> >>> Does it work with possibly mutually-importing boot files?
> >>>
> >>>
> >>> --
> >>> Mateusz K.
> >>> _______________________________________________
> >>> Haskell-Cafe mailing list
> >>> Haskell-Cafe at haskell.org
> >>> http://www.haskell.org/mailman/listinfo/haskell-cafe
> >>>
> >>
> >
> >
> > --
> > Mateusz K.
> > _______________________________________________
> > 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
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141004/2b39308e/attachment.html>


More information about the Haskell-Cafe mailing list