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?

peloton-in-mountains

Downloads

There have been 2 releases since May 2009.

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,

The hot news at the moment is the Debian (and thus, Ubuntu) push:

The Debian Haskell team is making big strides in having packages adopted. You can see the state of Hackage as supported by Debian here.

It is already becoming increasingly easy to obtain a full Haskell system – as the implementors intend – on a number of platforms. If your distro isn’t providing support, name and shame them. :-)

What’s new in 2009.2.0.2?

2009.2.0.2 will be released later this week. It is the final bugfix release in the 2009.2.0.2 series. It will contain:

What’s next?

  • Don and Duncan will be talking at the Haskell Implementors Workshop about the Platform, and how our world domination plans are unfolding.
  • 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.
  • The Fedora Haskell Special Interest Group is making progress on platform adoption in Fedora land.

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 thoughts on “Haskell Platform Progress Report

  1. > 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.

    But of course if the package manager is purely functional then it’s cool: http://nixos.org/nixos/

  2. 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.

  3. Or maybe because Haskell Wiki has got most Project Euler solutions. !! and kids want to try it out.

  4. I’m not sure if these figures mean anything.
    I only ever do an apt-get install haskell. But then: i don’t need the latest and greatest per se.

  5. > I like Linux, but I grow tired of having to fuss with device drivers every few weeks

    Nothing like exaggeration to make a point. (Unless your DEVICES are changing every couple weeks, which I find equally dubious.)

  6. – “Volunteer time to maintain orphaned packages”

    Is there a received list of valuable orphaned packages, or packages that might be appropriately replaced with something more up to date?

Leave a comment