Analysed by SourceGraph (version 0.7.0.0) using Graphalyze (version 0.11.0.0)
Wednesday 24 November, 2010







Please note that the source-code analysis in this document is not necessarily perfect: SourceGraph is not a refactoring tool, and it's usage of Classes is still premature.
Implicitly exported entities refer to class methods that are instantiated but defined elsewhere, or entities whose names start with an underscore . Note that even for Main modules, these implicit exports are included.
All graph visualisations link to larger SVG versions of the same graph.
Here is the current module grouping of functions:
Here is a proposed alternate module grouping:
Using the Chinese Whispers algorithm:
Visualises how far away from the exported root entities an entity is.
The overall cyclomatic complexity is: 140
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
These functions are those that are inaccessible:
Distribution.Gentoo.PkgManager.dummy, Main.err
The code has the following cross-module chains:
Distribution.Gentoo.Packages.stripVersion -> Distribution.Gentoo.Util.breakAll
These chains can all be compressed down to a single function.
The cyclomatic complexity of the imports is: 5
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
Visualises how far away from the exported root entities an entity is.
The cyclomatic complexity of Distribution.Gentoo.GHC is: 6.
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
The module Distribution.Gentoo.GHC has the following chains:
checkLibDir -> isGhcLibDir
getBroken -> ghcPkgRawOut
matchConf -> tryMaybe
These chains can all be compressed down to a single function.
Visualises how far away from the exported root entities an entity is.
The cyclomatic complexity of Distribution.Gentoo.Packages is: 14.
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
The module Distribution.Gentoo.Packages has the following chains:
hasContent -> parseContents
hasContentMatching -> pathOf
installedCats' -> installedCats
These chains can all be compressed down to a single function.
Visualises how far away from the exported root entities an entity is.
The cyclomatic complexity of Distribution.Gentoo.PkgManager is: 35.
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
Visualises how far away from the exported root entities an entity is.
The cyclomatic complexity of Distribution.Gentoo.Util is: 3.
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
The module Distribution.Gentoo.Util has 3 components. You may wish to consider splitting it up.
Visualises how far away from the exported root entities an entity is.
The cyclomatic complexity of Main is: 59.
For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity
The module Main has the following chains:
allGetPackages -> getPackages
These chains can all be compressed down to a single function.