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

Reply via email to