Haskell Platform Progress Report

This week the final release of the Haskell Platform 2009.2.x series will take place.

The Haskell Platform is a single, standard Haskell distribution for every system, in the form of a blessed library and tool suite for Haskell distilled from the thousands of libraries on Hackage, along with installers for a wide variety of systems. It saves developers work picking and choosing the best Haskell libraries and tools to use for a task.

When you install the Haskell Platform, you get the latest stable compiler, an expanded set of core libraries, additional development tools, and cabal-install – so you can download anything else you need from Hackage.

From the beginning our goal has been to have a comprehensive Haskell toolchain on every machine, making it dead easy to install Haskell applications and libraries. We’re doing our job if people are downloading the installers for Mac and Windows, and if the various Unix distros are supporting the platform specification.

So how are we going?

Downloads

From the first few minutes of the release, downloads of the various windows installer were running at many times the rate as that for other platforms (there had until now been no single Haskell package for Windows, after all). This surprised us. By the end of July 2009, 90 days later, there had been:

114,790 downloads of the Windows installer (!!)

2,790 installs of the generic unix source tarball (complementing the packages provided on each distro).

On June 1, the Mac OSX package went live, complementing the MacPorts GHC version.

1,300 installs of the Mac OSX package.

The Windows figure is pretty stunning — they really miss not having a package system I think. Note also: these are total downloads of any of the multiple versions of the installers, not unique IPs. Well done to Mikhail Glushenkov and Gregory Collins who have pretty much single handedly delivered the Windows and Mac installers.

Supported Distros

From the start, Gentoo, Nix and Arch Linux have supported the platform spec,

What’s next?

The first released in the 2009.4.x series will appear in the next few months. This will be the first release with an expanded set of packages nominated by the community. Start thinking about what packages you need to get your work done.

GHC 6.12.x series will be released in a few months, relying soley on the platform bundle for library support. There will be no “extralibs”, so distros need to start acting now to support the platform specification.

The Haskell Platform steering committee has been formed, to handle policy decisions, and the interface between the language teams, compiler teams and the library/platform community.

So all this is very exciting. I think we’re on track with our original goals for the platform, and hope to have further concrete results in time for ICFP 2009, and the Haskell Implementors Workshop, marking 12 months since the original Batteries Included idea was proposed.

We’re not there yet!

There are many ways you can help ensure Haskell works well everywhere:

Write new packages for Hackage, and release them

Volunteer time to maintain orphaned packages

Port packages to your distro of choice

Build binary installers for your system

Tell us what you need to use Haskell for your projects.

Contribute documentation

Test, test and tell us what goes wrong, and what goes right!

Help identify the best packages in each category. Analyse them, compare them, and write about it.

9 comments

> The Windows figure is pretty stunning — they really miss not having a package system I think.

The mind boggles at that number, will we see 115000 new web frameworks on hackage in a while? Or 115000 monad tutorials?

As for package systems, no, when I’m on Windows I don’t miss Ubuntu’s stale packages at all. If you have to install it yourself anyway if you want a remotely new version, what’s the point? And apps on Windows and OSX are nowadays good at not stepping on each others toes.

I’m not at all surprised by the figures for Windows, considering the investment that MS has recently put into functional programming. Also, given that SPJ works at MS Research, and that the first Haskell IDE was developed in Visual Studio, Haskell has a much more Windows-friendly vibe than other “academic” languages.

The other factor to consider is that Windows developers — if they haven’t worked in a *nix environment — may not have used package managers like rpm and apt-get, and so may need the “one-stop shopping” of the Haskell platform.

I’ve been very happy learning Haskell in Windows. I like Linux, but I grow tired of having to fuss with device drivers every few weeks, and between Cygwin and MSYS, I have access to the same kind of rich command-line environments that Unix users take for granted. The only headache has been the absence of native libraries like OpenGL and GTK.