What’s been happening with the Haskell programming language for the past month, as voted by readers of The Haskell Reddit. This is the first edition of the Web News, so feedback on the content, schedule and goals is welcome. Read more about the goals for the project on the about page.

The biggest news of November for the Haskell community was the announcement of the release of the new Haskell language revision: Haskell 2010. The Haskell Prime process, which produced this revision, calls for regular releases of newly standardised extensions, and this first revision declared as standard Haskell:

The end of n+k patterns in standard Haskell completes one of the longest sagas in the language’s history, with efforts to remove the feature more than 10 years ago .

The next steps for the standard are a revised language report, and for compilers to adopt the features. The Haskell 2011 group is also forming to investigate the next round of standardisation. (And see the Haskell 2010 slashdotting for fun…)

There are more than 1700 packages on Hackage now, with some quite complicated dependencies set up. Duncan Coutts looked at how to construct a maximal install plan, such that the largest fraction of Hackage could be installed without conflict. He found that a small number of key packages cause “splits” in the install scheme, as significant numbers of packages depend on incompatible versions of these conflicters (e.g. HaXml 1.13. or 1.19). Duncan was able to find a coherent install plan on unix for 1453 packages in the end, and since then a new stable version of HaXml has been released, which will further improve the overall coherency.

Designing the perfect array library in Haskell has been a hot topic for the last couple of years, and a number of competitors have emerged looking for the right balance of performance, flexibility and a rich API. ﻿﻿﻿﻿Roman Leschinskiy announced a project, NoSlow, to methodically compare the performance of the various array libraries, with published results based on Bryan O’Sullivan’s criterion benchmarking tool.

David Terei published his undergraduate honors thesis, “LLVM for GHC”, at the University of New South Wales, describing his design for porting GHC to use LLVM for code generation, finding that it mapped “remarkably well”. He then goes on to implement and benchmark the resulting compiler, finding that LLVM was generally similar to the existing code generator for the majority of programs, with the exception of array benchmarks, which were significantly better under LLVM. An amazing achievement for such a short project!

The second release candidate for the GHC 6.12 series was announced, including installers for Windows and OS X. The upcoming 6.12 release features some significant improvements to data parallel arrays, new profiling tools, including support for ThreadScope, full support for shared libraries (as funded by the IHG), improvements to the performance of parallel and concurrent programs in general, and support for unicode Handles (as well as other encodings directly in the Handle layer).

Interviews and Media

In the broader media, we saw an interview with John Hughes at InfoQ, contrasting Erlang and Haskell as well as a surprise Haskell talk at Supercomputing 09, where Haskell was used for high performance computational biology.

Finally, congratulations to Graham Hutton and Erik Meijer, as the series of C9 lectures, based on “Programming in Haskell” (the book), reaches a quarter million downloads.



New Haskell Software

In November, there were 287 package released on Hackage, bringing the total number of Haskell packages to 1720. We had a record 143 thousand downloads from Hackage in November, breaking the previous monthly record of 95 thousand set in October 2009, and bringing the total downloads from Hackage to 1.53M.

The top 15 most popular libraries in November were:

And the top 15 most popular applications are:

The two most popular Haskell project releases, as voted online, were:

Articles and Tutorials

The most popular new Haskell articles and tutorials online this month were:

You shouldn’t do that

And, finally, news that perhaps shouldn’t have been:

Implementing languages in the Haskell type system

Next edition: a 2009 Haskell retrospective.