[commit: ghc] ghc-7.2: Implement a findCycle function in Digraph, (f1158aa)
Ian Lynagh
igloo at earth.li
Sun Jul 24 20:25:33 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : ghc-7.2
http://hackage.haskell.org/trac/ghc/changeset/f1158aa8dc5302dc5428c28305ffa94ca51443ce
>---------------------------------------------------------------
commit f1158aa8dc5302dc5428c28305ffa94ca51443ce
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Fri Jul 22 08:56:42 2011 +0100
Implement a findCycle function in Digraph,
and use it to report module loops nicely
This fixes Trac #5307. Now we get
Module imports form a cycle:
module `M8' (.\M8.hs)
imports `M1' (M1.hs)
which imports `M9' (.\M9.hs-boot)
which imports `M8' (.\M8.hs)
And the algorithm is linear time.
compiler/main/GhcMake.hs | 67 +++++++++++++---------------------
compiler/utils/Digraph.lhs | 85 +++++++++++++++++++++++++++++++++++++++----
compiler/utils/Util.lhs | 6 +++-
3 files changed, 107 insertions(+), 51 deletions(-)
Diff suppressed because of size. To see it, use:
git show f1158aa8dc5302dc5428c28305ffa94ca51443ce
More information about the Cvs-ghc
mailing list