Haskell Popularity Rankings: September 2009

Here’s the Haskell package popularity statististics for the month of August 2009 (a couple of days early, due to ICFP travel). These are downloads of source using the logs for the Hackage package server (kindly hosted by Galois). They measure popularity of Haskell source code packages on Hackage.

haskell_universe

Headlines

  • Total Hackage downloads : 1.22 million (+82k)
  • Total Packages on Hackage : 1520 packages
  • Total Contributors : 414 developers
  • Over 80 thousand downloads in August
  • Hackage now links to distro packages where available

Top 20 most downloaded Haskell applications in August

  1. xmonad – A tiling window manager
  2. haddock – A documentation-generation tool for Haskell libraries
  3. cpphs – A liberalised re-implementation of the C pre-processor
  4. hscolour – Colourise Haskell code
  5. cabal-install – The command-line interface for Cabal and Hackage.
  6. yi – The Haskell-Scriptable Editor
  7. darcs – a distributed, interactive, smart revision control system
  8. happy – a parser generator for Haskell
  9. pandoc – Conversion between markup formats
  10. xmobar – A Minimalistic Text Based Status Bar
  11. leksah – Haskell IDE written in Haskell
  12. alex – a tool for generating lexical analysers in Haskell
  13. happstack – The haskell application server stack + code generation
  14. hlint - Source code suggestions for Haskell
  15. gitit – Wiki using happstack, git or darcs, and pandoc
  16. hoogle – Haskell API Search
  17. cabal2arch – Create Arch Linux packages from Cabal packages
  18. happs-tutorial – A Happstack Web 2.0-type demo
  19. uuagc – Attribute Grammar System of Universiteit Utrecht
  20. yst - Builds a static website from templates and data in YAML or CSV files

Top 20 Haskell libraries in August

  1. HTTP – Client-side HTTP
  2. zlib – Compression and decompression in the gzip and zlib formats
  3. binary - Binary serialisation for Haskell values using lazy ByteStrings
  4. utf8-string – Support for reading and writing UTF8 Strings
  5. haskell-src-exts – Manipulating Haskell source: abstract syntax, lexer, parser, pretty printing
  6. QuickCheck – Automatic testing of Haskell programs
  7. ghc-paths – Knowledge of GHC’s installation directories
  8. OpenGL - A binding for the OpenGL graphics system
  9. HaXml - Utilities for manipulating XML documents
  10. GLUT – A binding for the OpenGL Utility Toolkit
  11. pureMD5 – MD5 implementations that should become part of a ByteString Crypto package
  12. time – A time library
  13. terminfo – Haskell bindings to the terminfo library
  14. parsec – Monadic parser combinators
  15. X11 – A binding to the X11 graphics library
  16. regex-base – Regular expressions for Haskell
  17. network - Networking-related facilities
  18. uniplate – Uniform type generic traversals
  19. unix-compat - Portable POSIX-compatibility layer
  20. transformers – Concrete monad transformers

We can also compute the librarys and applications that had the biggest increase in downloads in August over the previous month. These libraries are increasing in use the fastest:

Top 10 rising libraries

  1. Tensor - Tensor data types
  2. ObjectName – Explicitly handled object names
  3. StateVar - State variables for OpenGL
  4. OpenGLRaw – A raw binding for the OpenGL graphics system
  5. GLURaw – A raw binding for the OpenGL graphics system
  6. text - An efficient packed Unicode text type
  7. HaXml - Utilities for manipulating XML documents
  8. MissingH - Large utility library
  9. HStringTemplate – StringTemplate implementation in Haskell
  10. derive – A program and library to derive instances for data types

Top 10 rising applications

  1. haddock – A documentation-generation tool for Haskell libraries
  2. pandoc – Conversion between markup formats
  3. gitit – Wiki using happstack, git or darcs, and pandoc
  4. yi – The Haskell-Scriptable Editor
  5. cabal2arch – Create Arch Linux packages from Cabal packages
  6. hake – make tool. ruby : rake = haskell : hake
  7. hpodder - Podcast Aggregator (downloader)
  8. nemesis – a Rake like task management tool
  9. flow2dot - generate sequence/flow diagrams from plain text source
  10. lhc – LHC Haskell Compiler

All these can be installed with:

 $ cabal install <package>

Crunch the Numbers

Here’s the data so you can see how your favourite packages are going:

And don’t forget — the Haskell Platform is cutting into cabal-install’s monopoly on distribution of Haskell code… downloads for that are counted separately.

QuickCheck – Automatic testing of Haskell programs

Haskell Package Popularity Rankings : August 2009

Back in March, I crunched the web logs for the Hackage package server (kindly hosted by Galois) to measure for the first time how popular Haskell packages were Hackage.

haskell_universe

4 months later, I’ve rerun the numbers, and have some new data.

Headlines

  • Total Hackage downloads : 1.13 million
  • Total Packages on Hackage : 1470
  • Total Contributors : 400 developers

Top 20 Haskell applications

  1. xmonad – A tiling window manager
  2. cabal-install – The command-line interface for Cabal and Hackage.
  3. haddock – A documentation-generation tool for Haskell libraries
  4. xmobar – A Minimalistic Text Based Status Bar
  5. yi – The Haskell-Scriptable Editor
  6. hscolour – Colourise Haskell code
  7. happy (+1) – a parser generator for Haskell
  8. alex (-1) – a tool for generating lexical analysers in Haskell
  9. leksah (+1) – Haskell IDE written in Haskell
  10. cpphs (+3) – A liberalised re-implementation of the C pre-processor
  11. darcs – a distributed, interactive, smart revision control system
  12. frag – A 3-D First Person Shooter Game
  13. pandoc – Conversion between markup formats
  14. uuagc – Attribute Grammar System of Universiteit Utrecht
  15. hmp3 – An ncurses mp3 player
  16. c2hs – C->Haskell FFI tool with cross-language type safety
  17. hoogle – Haskell API Search
  18. cabal-rpm – RPM package builder for Haskell Cabal source packages
  19. happs-tutorial – A Happstack Web 2.0-type demo
  20. hlint - Source code suggestions for Haskell

Top 20 Haskell libraries

  1. HTTP – Client-side HTTP
  2. zlib – Compression and decompression in the gzip and zlib formats
  3. Cabal – A framework for packaging Haskell software
  4. X11 – A binding to the X11 graphics library
  5. binary - Binary serialisation for Haskell values using lazy ByteStrings
  6. utf8-string – Support for reading and writing UTF8 Strings
  7. mtl - Monad transformer library
  8. regex-posix – POSIX regular expressions
  9. xmonad-contrib (+11) – Third party extensions for xmonad
  10. parsec (+1) – Monadic parser combinators
  11. X11-extras – (obsolete) Missing bindings to the X11 graphics library
  12. network - Networking-related facilities
  13. regex-base – Regular expressions for Haskell
  14. QuickCheck – Automatic testing of Haskell programs
  15. bytestring – Fast, packed, strict and lazy byte arrays
  16. HaXml - Utilities for manipulating XML documents
  17. hslogger - Versatile logging framework
  18. terminfo – Haskell bindings to the terminfo library
  19. time – A time library
  20. regex-compat - API compatible regular expressions

Essentially unchanged since March in overall rankings.

What if we look at the fastest rising packages though? These are the 25 packages that climbed the most in overall rankings in the 4 months to August 2009, and by how many rankings they improved.

Top 5 fastest rising applications

  1. MazesOfMonad 1266 – Console-based Role Playing Game
  2. bloxorz 1254 – OpenGL logic game
  3. HPong 1166 – A simple OpenGL Pong game based on GLFW
  4. darcs-beta 1131 – beta branch of darcs
  5. Bookshelf 1012 – A simple document organizer with some wiki functionality

Top 5 fastest rising libraries

  1. hashed-storage 1208 – Hashed file storage support code
  2. atom 1200 – A DSL for embedded hard realtime applications
  3. buster 1197 – Almost but not quite entirely unlike FRP GUI library
  4. hack 1190 – a Haskell Webserver Interface
  5. elerea 1174 – A minimalistic FRP library

All these can be installed with:

 $ cabal install <package>

Crunch the Numbers

Here’s the data so you can see how your favourite packages are going:

You can also get the month by month totals:

And don’t forget — the Haskell Platform is cutting into cabal-install’s monopoly on distribution of Haskell code… downloads for that are counted separately.

QuickCheck – Automatic testing of Haskell programs

The Haskell Platform 2009.2.0.2

The Haskell Platform 3rd release (July 2009) is live! Here’s the announce.

We’re pleased to announce the third release of the Haskell Platform: a single, standard Haskell distribution for everyone.

The platform is a comprehensive suite of compilers, libraries and tools for Haskell, providing a rich, useful environment, that is identical on every system. It is Haskell with batteries included.

What you get is specified here. Compilers, tools, a bunch of libraries for making you more interesting at cocktail parties.

What’s new in this release?

We’ve had more than 125k downloads of the platform now. So let us know what you think. How could the platform be improved to make your daily use of Haskell easier?

As mentioned last week, we have some big plans ahead, primarily working out how to regularly add more libraries from Hackage. If you have thoughts on this, let us know.

See you at the Haskell Implementors Workshop in a few weeks!

Heuristics for Blessing Software Packages

In the next branch of Haskell Platform we’ll be adding and removing packages from the specification for the first time. The Haskell Platform steering committee will make recommendations for additions and removals based on individual proposals to add and remove packages from the list.

It is hard to come up with “notability” criteria for why a package should be added or removed. There are many competiting reasons why people use the Haskell Platform, and what packages they need.

The goal though should be an almost fully automated criteria for determining when a package should be added, based on objective data. Then, combined with strategic and other concerns, packages will be added or, sometimes, removed.

Possible Criteria for Notability

A quick list of possible criteria by which to evaluate whether a package is “blessed”:

  • How popular is the package in Hackage downloads?
  • How many packages depend on it?
  • Do any applications of note depend on it?
  • Does it meet a stated end-user need?
  • Do similar systems include such a library (e.g. Python)?
  • Is it portable?
  • Does it add additional C libraries?
  • Does it follow the package versioning system?
  • Is the code of good quality?
  • Does it have a good development history?
  • Is it on hackage?
  • Does it provide haddock documentation?
  • Does it come with examples?
  • Does it have a test suite?
  • Does it have a maintainer?
  • Does it in turn require new Haskell dependencies?
  • Does it have a simple/configure-based Cabal build?
  • Does it conflict/compete with existing functionality?
  • Does it reuse existing types?
  • Does it follow the hierarchical naming conventions?
  • Is it -Wall clean?
  • Have declared correctness or performance statements?
  • Is it BSD licensed?
  • Is it thread-safe?

A Point System

One way of determining notability for a package would be to use a points system against an agreed-upon set of such criteria.

Does anyone know of similar examples, or would like to code up some programs to experiment with these ratings?

Distro Page Rank

Another source of raw data may well be a sort of “Page Rank” across unix distros for how often a package is used. On the Arch Linux distribution, we have 3 level support for Haskell. In the core system some Haskell apps and tools are provided in binary form. In the “community” binary repo there are yet more packages. Finally, in the user-contributed repository are around 1300 other packages (~90% of Hackage).

Does your distro have popularity statistics? Could you determine the top 100 Haskell package by vote?

Most Popular Packages in Arch Linux

Some users install packages with the ‘yaourt’ tool, and some of those users opt in to voting when they install. Here’s the top 100 packages sorted by votes in Arch Linux, with those that are in the Haskell Platform already, indicated:

HP Repository Category Library/Program Votes Synopsis Notes
Extra darcs Decentralized replacement for CVS with roots in quantum mechanics
Extra haskell-extensible-exceptions Extensible exceptions darcs dep
Extra haskell-hashed-storage Hashed file storage support code. darcs dep
Extra haskell-haskeline A command-line interface for user input, written in Haskell. darcs dep
Extra haskell-mmap Memory mapped files for POSIX and Windows darcs dep
Extra haskell-terminfo Haskell bindings to the terminfo library. darcs dep
Extra haskell-utf8-string Support for reading and writing UTF8 Strings darcs dep
YES Extra ghc The Glasgow Haskell Compiler
Extra hugs98 Haskell 98 interpreter
YES Extra happy The Parser Generator for Haskell
YES Community alex a lexical analyser generator for Haskell
Community gtk2hs A GTK+2 binding for Haskell
YES Community haskell-http A library for client-side HTTP cabal dep
YES Community cabal-install The command-line interface for Cabal and Hackage.
Community haskell-x11 A Haskell binding to the X11 graphics library. xmonad dep
Community haskell-x11-xft Bindings to the Xft, X Free Type interface library, and some Xrender parts xmonad dep
YES Community haskell-zlib Compression and decompression in the gzip and zlib formats cabal dep
Community pandoc Haskell library and program to convert one markup format to another
Community xmonad A lightweight X11 tiled window manager written in Haskell
Community xmonad-contrib Add-ons for xmonad xmonad dep
lib haskell-binary 0.5.0.1-1 98 Binary serialisation for Haskell values using lazy ByteStrings
YES lib haskell-opengl 2.2.1.1-1 56 A binding for the OpenGL graphics system
lib haskell-hslogger 1.0.7-2 51 Versatile logging framework
lib haskell-puremd5 1.0.0.0-1 48 MD5 implementations that should become part of a ByteString Crypto package.
YES lib haskell-syb 0.1.0.0-1 48 Scrap Your Boilerplate
YES devel haddock 2.4.2-1 46 A documentation-generation tool for Haskell libraries
devel haskell-xft 0.2-2 46 Bindings to the Xft library, and some Xrender parts
lib haskell-ghc-paths 0.1.0.5-1 45 Knowledge of GHC’s installation directories
lib haskell-haxml 1.13.3-1 42 Utilities for manipulating XML documents
lib haskell-missingh 1.1.0-1 40 Large utility library
lib haskell-testpack 1.0.2-1 36 Test Utililty Pack for HUnit and QuickCheck
YES lib haskell-time 1.1.2.4-1 36 A time library
lib haskell-uniplate 1.2.0.3-1 36 Uniform type generic traversals.
lib haskell-diff 0.1.2-1 35 O(ND) diff algorithm in haskell.
YES lib haskell-mtl 1.1.0.2-1 35 Monad transformer library
YES lib haskell-regex-base 0.93.1-1 33 Replaces/Enhances Text.Regex
YES lib haskell-parsec 3.0.0-1 32 Monadic parser combinators
devel cpphs 1.7-1 31 A liberalised re-implementation of cpp, the C pre-processor.
lib haskell-curl 1.3.5-1 31 Haskell binding to libcurl
lib haskell-hinotify 0.2-1 31 Haskell binding to INotify
lib haskell-transformers 0.1.4.0-1 31 Concrete monad transformers
lib haskell-unix-compat 0.1.2.1-1 31 Portable POSIX-compatibility layer.
devel cabal2arch 0.5.3-1 30 Create Arch Linux packages from Cabal packages
lib haskell-fingertree 0.0.1.0-1 30 Generic finger-tree structure, with example instances
lib haskell-haskell-src-exts 1.0.1-1 30 Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer
YES lib haskell-glut 2.1.1.2-1 29 A binding for the OpenGL Utility Toolkit
lib haskell-pcre-light 0.3.1-2 29 A small, efficient and portable regex library for Perl 5 compatible regular expressions
lib haskell-rosezipper 0.1-1 29 Generic zipper implementation for Data.Tree
devel hscolour 1.13-1 28 Colourise Haskell code.
lib haskell-data-accessor 0.2.0.2-1 26 Utilities for accessing and manipulating fields of records
lib haskell-data-accessor-template 0.2.1.1-1 26 Utilities for accessing and manipulating fields of records
lib haskell-regex-tdfa 1.1.2-2 26 Replaces/Enhances Text.Regex
lib haskell-xml 1.3.4-1 26 A simple XML library.
lib haskell-hsh 2.0.2-1 25 Library to mix shell scripting with Haskell programs
lib haskell-split 0.1.1-1 25 Combinator library for splitting lists.
lib haskell-utility-ht 0.0.5.1-1 25 Various small helper functions for Lists, Maybes, Tuples, Functions
lib haskell-vty 3.1.8.4-1 25 A simple terminal access library
lib haskell-syb-with-class 0.5.1-1 24 Scrap Your Boilerplate With Class
YES lib haskell-cgi 3001.1.7.1-1 23 A library for writing CGI programs
YES lib haskell-fgl 5.4.2.2-1 23 Martin Erwig’s Functional Graph Library
devel derive 0.1.4-1 22 A program and library to derive instances for data types
lib haskell-monads-fd 0.0.0.1-1 21 Monad classes, using functional dependencies
devel haskell-pandoc 1.2.1-1 21 Conversion between markup formats
lib haskell-safe 0.2-1 21 Library for safe (pattern match free) functions
lib haskell-zip-archive 0.1.1.3-1 21 Library for creating and modifying zip archives.
YES lib haskell-bytestring 0.9.1.4-1 20 Fast, packed, strict and lazy byte arrays with a list interface
lib haskell-configfile 1.0.4-2 20 Configuration file reading & writing
lib haskell-data-accessor-monads-fd 0.2-1 20 Use Accessor to access state in monads-fd State monad class
lib haskell-hstringtemplate 0.6-1 20 StringTemplate implementation in Haskell.
lib haskell-pointedlist 0.3.5-1 20 A zipper-like comonad which works as a list, tracking a position.
YES lib haskell-quickcheck 2.1.0.1-2 20 Automatic testing of Haskell programs
lib haskell-convertible 1.0.5-1 19 Typeclasses and instances for converting between types
lib haskell-digest 0.0.0.6-1 19 Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now.
lib haskell-hdbc 2.1.1-1 19 Haskell Database Connectivity
network twidge 0.99.3-1 19 Unix Command-Line Twitter and Identica Client
lib haskell-hspread 0.3.3-1 18 A client library for the spread toolkit
lib haskell-readline 1.0.1.0-1 17 An interface to the GNU readline library
lib haskell-strict 0.3.2-2 17 Strict data types and String IO.
lib haskell-happs-util 0.9.3-1 16 Web framework
devel hoogle 4.0.7-1 16 Haskell API Search
editors yi 0.6.1-1 16 The Haskell-Scriptable Editor
lib haskell-findbin 0.0.2-1 15 Locate directory of original program
lib haskell-glfw 0.3-1 15 A binding for GLFW, An OpenGL Framework
lib haskell-json 0.4.3-1 15 Support for serialising Haskell to and from JSON
YES lib haskell-network 2.2.1.4-1 15 Networking-related facilities
lib haskell-stream 0.3.2-1 15 A library for manipulating infinite lists.
lib haskell-tagsoup 0.6-2 15 Parsing and extracting information from (possibly malformed) HTML documents
YES lib haskell-editline 0.2.1.0-2 14 Bindings to the editline library (libedit).
lib haskell-sdl 0.5.5-1 14 Binding to libSDL
editors leksah 0.6.1-1 14 Haskell IDE written in Haskell
devel c2hs 0.16.0-1 13 C->Haskell FFI tool that gives some cross-language type safety
lib haskell-hsx 0.5.6-1 13 HSX (Haskell Source with XML) allows literal XML syntax to be used in Haskell source code.
devel hlint 1.6.4-1 13 Source code suggestions
lib haskell-crypto 4.2.0-1 12 Collects together existing Haskell cryptographic functions into a package
lib haskell-hdbc-sqlite3 2.1.0.2-1 12 Sqlite v3 driver for HDBC
lib haskell-highlighting-kate 0.2.4-1 12 Syntax highlighting
lib haskell-hjavascript 0.4.4-1 12 HJavaScript is an abstract syntax for a typed subset of JavaScript.
lib haskell-hjscript 0.4.4-1 12 HJScript is a Haskell EDSL for writing JavaScript programs.
devel mkcabal 0.4.2-2 12 Generate cabal files for a Haskell project
lib haskell-arrows 0.4.1.1-1 11 Arrow classes and transformers
lib haskell-filemanip 0.3.2-1 11 Expressive file and directory manipulation for Haskell.
lib haskell-happs-data 0.9.3-1 11 HAppS data manipulation libraries
lib haskell-happs-ixset 0.9.3-1 11
lib haskell-happs-state 0.9.3-1 11 Event-based distributed state.
lib haskell-harp 0.4-1 11 HaRP allows pattern-matching with regular expressions
lib haskell-lazysmallcheck 0.3-2 11 A library for demand-driven testing of Haskell programs
lib haskell-typecompose 0.6.4-1 11 Type composition classes & instances
lib haskell-dataenc 0.13.0.0-1 10 Data encoding library
lib haskell-happstack-util 0.3.2-1 10 Web framework
lib haskell-hxt 8.3.1-1 10 A collection of tools for processing XML with Haskell.
lib haskell-maybet 0.1.2-1 10 MaybeT monad transformer
lib haskell-platform 2009.2.0.2-1 10 The Haskell Platform
office pdf2line 0.0.1-1 10 Simple command-line utility to convert PDF into text
lib haskell-category-extras 0.53.5-1 9 Various modules and constructs inspired by category theory
lib haskell-colour 2.2.1-1 9 A model for human colour/color perception
lib haskell-datetime 0.1-1 9 Utilities to make Data.Time.* easier to use.
lib haskell-happs-server 0.9.3-1 9 Web related tools and services.

Now, one of the other constraints on the Haskell Platform is sustainable growth. We can’t add 1000 packages tomorrow and hope to maintain quality. Instead, something like 10-20% growth per release cycle seems plausible. This would mean adding 4 to 9 new packages.

If we were to judge only on download popularity, the 10 new packages would be:

Now, one of the other constraints on the Haskell Platform is sustainable growth. We can’t add 1000 packages tomorrow and hope to maintain quality. Instead, something like 10-20% growth per release cycle seems plausible. This would mean adding 4 to 9 new packages.

If we were to judge only on download popularity, our first 5 new packages would be:

Merely because one killer app, darcs, depends on them, and so they are widely built (they may also fail to satisfy many of the other critieria noted above).

If we ignore those packages popular for being dependencies, we get a different top 5:

Now we’re getting there. pandoc is both a library and a popular app, so we might treat it specially. gtk2hs is very popular, but not cabalised, so we might also set that aside, leaving (and I’ll ignore ghc-paths as it is used by ghc):

Which is starting to look like a plausible list. In turn however, you can find fault with all these packages in various dimensions (utf8-string may be obsoleted by Data.Text, haxml is LGPL licensed).

Coming up with an obvious list is non-trivial!

Finally, this is clearly only one very small data set, which should only have a small influence. If we step over an look at the Hackage download statistics, sorted by popularity, our top 5 new packages would be:

Popularity by Category

If instead we thought that having a comprehensive library set was the key goal, we may choose to include libraries via category, no matter how popular in the global list. This would yield, according to Hackage,

For example.

What Is The Decision Model?

So how do we decide what goes in? One model would be:

  1. Have people propose packages
  2. Sort them by category need
  3. Identify the top rank package in each category using a points system or page rank
  4. Add or remove packages based on this?

What do you think? What is a good way to decide when a package is sufficiently notable to add to the Haskell Platform?

What critieria would you use to determine when a package is blessed?

Interview for SDTimes: “Everyone’s talking about Haskell”

A couple of weeks ago I had the pleasure to do an interview with SDTimes about Haskell programming, and being an FP programmer in industry. I talked a bit about how Haskell is used in industry, the CUFP conference, and how important Hackage and Cabal are to the community.

You can read the interview here.

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.

The Haskell Platform 2009.2.0.1

The Haskell Platform 2nd release (June 2009) is live!

The Platform Infrastructure Team is pleased to announce the second release of the Haskell Platform: a single, standard Haskell distribution for every system. The Haskell Platform is a blessed library and tool suite for Haskell distilled from 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.

What you get is specified here. Compilers, tools, a bunch of libraries for making you more interesting at cocktail parties.

With regular time-based releases, we expect the platform will grow into a rich, indispensable development environment for all Haskell projects. Distro maintainers that support the Haskell Platform can be confident they’re fully supporting Haskell as the developers intend it. Developers targetting the platform can be confident they have a trusted base of code to work with.

Please note that this is a beta release. We do not expect all the installers to work perfectly, nor every developer need met, and we would appreciate feedback.

What’s new in this release?

  • GHC 6.10.3 is now standard
  • Upgrade to network 2.2.1.1
  • Upgrade happy 1.18.4
  • editline is an explicit dependency

The last release had over 10k downloads of the windows installer, and we hope to make a similar impact with this iteration.

You can help out by packaging the platform for your distro, or reporting bugs and feature requests, or installing Haskell onto your friends’ machines. The process for adding new tools and libraries will be outlined in coming weeks.

Follow

Get every new post delivered to your Inbox.

Join 51 other followers