Top Haskell packages seen through graph centrality beer goggles

I threw together a little code tonight to calculate the Katz centrality of packages on Hackage. This is a measure that states that a package is important if an important package depends on it. The definition is recursive, as is the matrix computation that converges towards a fixpoint to calculate it.

Here are the top hundred Hackage packages as calculated by this method, along with their numeric measures of centrality, to which I’ve given the slightly catchier name “mojo” here.

This method has a few obvious flaws: it doesn’t count downloads, nor can it take into account packages that only contain executables. That said, the results still look pretty robust.

package mojo
base 10000
ghc-prim 9178
array 1354
bytestring 1278
deepseq 1197
containers 994
transformers 925
mtl 840
text 546
time 460
filepath 441
directory 351
parsec 299
old-locale 267
template-haskell 247
network 213
process 208
vector 208
pretty 187
random 172
binary 158
QuickCheck 130
utf8-string 128
stm 119
unix 116
haskell98 100
hashable 96
attoparsec 92
old-time 88
primitive 87
aeson 72
unordered-containers 70
syb 69
data-default 67
split 64
transformers-base 63
blaze-builder 62
monad-control 62
conduit 62
semigroups 59
cereal 57
tagged 57
bindings-DSL 55
HUnit 55
gtk 54
Cabal 54
lens 50
OpenGL 46
haskell-src-exts 45
cmdargs 45
HTTP 44
http-types 43
extensible-exceptions 43
glib 42
utility-ht 41
data-default-class 38
parallel 35
resourcet 34
semigroupoids 34
xml 34
comonad 33
lifted-base 33
cairo 33
safe 32
MissingH 31
exceptions 31
base-unicode-symbols 31
ansi-terminal 31
vector-space 30
nats 30
OpenGLRaw 30
monads-tf 28
wai 28
hslogger 28
regex-compat 28
GLUT 27
void 27
blaze-html 26
hxt 25
dlist 25
zlib 25
hmatrix 24
SDL 24
case-insensitive 24
scientific 23
X11 23
tagsoup 22
regex-posix 22
HaXml 22
system-filepath 22
enumerator 22
contravariant 21
base64-bytestring 21
http-conduit 21
blaze-markup 21
MonadRandom 20
failure 20
test-framework 20
xhtml 20
distributive 19
Posted in haskell, open source
One comment on “Top Haskell packages seen through graph centrality beer goggles
  1. Kirill Zaborsky says:

    Brian, it looks like your blog is somehow broken – the latest post about attoparsec is shown on the homepage but http://www.serpentine.com/blog/2014/05/31/attoparsec/ shows 404

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>