On Fri, Aug 29, 2008 at 10:49:43AM +1000, Manuel M T Chakravarty wrote:
> Thomas Schilling:
> >I tried to plot GHC's dependency graph but it just became a grey/black
> >cloud. A hierarchical module space could clean things up a bit.
>
> Compilers are (in)famous for that property. Using a hierarchical
> module space is not going to change anything.
>
> In fact, one drawback of using a hierarchy is that it does suggest (by
> way of module names) a hierarchy that the code does not have. For
> example, I believe there are going to be cyclic imports between files
> in different subtrees. That may make the situation actually more
> confusing than it is now.
Just for interest's sake, I got graphviz to make a picture, and it's not
very enlightening:
http://urchin.earth.li/~ian/w.dot
http://urchin.earth.li/~ian/w.png
There are some very suspicious edges in the graph though, e.g.
"basicTypes" -> "main";
"basicTypes" -> "typecheck";
"basicTypes" -> "specialise";
"basicTypes" -> "stranal";
Maybe Manuel is right, and twisty dependencies are inevitable, but I
think it might be worth having a look at why we have some of these
twists, and whether we can/should refactor them away.
GHC also also a number of recursive module imports that it would be nice
to refactor out if possible.
Thanks
Ian
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc