On the Haskell Platform

Heinrich Apfelmus apfelmus at quantentunnel.de
Fri May 11 10:23:21 CEST 2012

Dear list,

I have written a package, reactive-banana-wx, which seems to be quite 
enticing to Haskell beginners. It's an implementation of the fabled 
functional reactive programming (FRP), so it's natural that people want 
to play around with it to see what it is all about. I imagine that the 
latest parallelism packages also serve a similar audience.

Of course, to play around with a package, you have to be able to install 
it, hopefully painlessly. As the maintainer, I have adopted the 
following principles as they appeared sound to me:

1. My package installs and works without any hitch on the latest Haskell 

This is easier said than done, because one of my dependencies is 
wxHaskell, which tends to have hitches at times. Occasionally, I 
restrict the version number to a specific, older wxHaskell version that 
I know to be bug free.

In other words, the idea is that a complete Haskell beginner will be 
able to install my package with the standard setup even if he knows 
nothing about the Haskell ecosystem.

2. If the user has a setup that doesn't fit the dependencies I 
prescribe, then I expect him to change the version constraints himself 
(and hopefully tell me whether it works.)

The idea is that having a non-standard setup is an indication that the 
user is no longer a beginner, so I can expect him/her to know how to 
change version constraints.

With these principles in mind, imagine my surprise, then, to discover 
that the "Haskell Platform" on Ubuntu 12.04 includes GHC 7.4.1


Clearly, this must be a fake Haskell Platform, because the latest real 
Haskell Platform is still at GHC 7.0.4 at the time of this writing. 
Unfortunately, my principle 1 is now rendered moot.

I don't quite know what to do. I understand that there is a need to get 
the latest GHC into the standard setup, but creating a "fake" Haskell 
Platform seems like a mistake to me, as it contradicts the use case 
"complete Haskell beginner" I described above. Not to mention that I'm 
stuck with the "real" Haskell Platform on Mac OS X and would have to 
manage separate cabal installations if I want to thoroughly test my 
package for all compiler versions. Or is it my principles that need to 

Best regards,
Heinrich Apfelmus


More information about the Libraries mailing list