On the Haskell Platform
apfelmus at quantentunnel.de
Fri May 11 10:23:21 CEST 2012
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
More information about the Libraries