24 Days of Hackage: 2013 in Review

Welcome, one and all, to the 2013 installment of 24 Days of Hackage! After a phenomenal reception last year, I’m back again with another collection of libraries to blog about. Not only that, but I’ve also got a handful of wonderful guest posts to compliment these. From rendering graphics to formatting text, to distributed programming, to constraint solving… I certainly have a lot of goodies to share with you.

But first, let’s start slow, and spend some time looking back on the last year and see how things have progressed since 2012.

A lot has changed in the Haskell landscape, but of particular interest to this series is that Hackage itself has been upgraded to Hackage 2. Hackage is the infrastructure that we use in Haskell to share libraries, and the new version is a complete rewrite. Hackage 2 launched in October, and this a rewrite is build using much more maintainable code, and provides a considerably more modular infrastructure. This seems to be paying off nicely, as the contributor count is slowly rising.

Most of us work with Cabal when we work with Hackage, and Cabal has also been updated to make programming in Haskell even more enjoyable. Cabal 1.18 came out, bringing with it sandboxes (for Python-like virtual environments to try and avoid the so-called “Cabal hell”), an easier REPL to launch GHCI, convenience commands to launch executables and tests, and much more.

Inside Hackage, the libraries themselves have been changing rapidly. Since the start of the year, we’ve gone from approximately 4.8k to 5.7k packages - almost 1000 new packages this year, and that’s not even accounting for updates! Specifically, Hackage has gone from hosting 28k versions of libraries to 34k - so I think that gives you one more data point to show that we’re far more than a “academic” language that some people may think.

Of libraries that saw a lot of activity, of the libraries we covered last year, the following stand out:

But don’t be tricked into thinking this is the only activity - far from it. Many of the other libraries I wrote about last year have continued to move with the rest of Hackage - updating dependencies, adjusting to new APIs, and integrating feature requests (and pull requests) from their ever-expanding user bases.

Tomorrow we’ll get the ball rolling for good. What will we cover? You’ll just have to wait and see…


You can contact me via email at ollie@ocharles.org.uk or tweet to me @acid2. I share almost all of my work at GitHub. This post is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.