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?
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.
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:
- 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.