When will the Haskell community finally get their act together
October 11th, 2005 matthias
…and produce a usable package system?
The absence of a standardised and user-friendly mechanism to package & distribute libraries, and to locate and install such libraries has been a major stumbling block in the adoption of non-mainstream programming languages for a long time. I wrote about it here in the context of Scheme.
Haskell is actually in a much better position than Scheme for addressing this, since there are far fewer implementations (and a single one - GHC - with an overwhelming market share), and far fewer incompatibilities between implementations. I have high hopes for Cabal. However, so far it seems to have failed to deliver on its promises, as evidenced by the following snippet from the installation instructions for WashNGo:
In some setting, it will be complicated to get everything to work with the database connection. The reason is that some versions of c2hs (0.13.6 in particular) do not install properly as a package: the hs-libraries component of the package description is missing with the consequence that programs do not link properly. If you can fix they you fly.
Installing newer versions (0.14.2 or 0.14.3) is not possible out of the box because they require cabal with version >= 1.0.1. Alas, GHC 6.4.1 ships with 1.0. Installing cabal-1.1.4 does not help either because…
.../c2hs-0.14.3 > ./Setup.hs build Preprocessing executables for c2hs-0.14.3... Building c2hs-0.14.3... Chasing modules from: c2hs/toplevel/Main.hs Could not find module `CForeign':Oh well.
That’s exactly the kind of thing that will turn off all but the most determined geeks from exploring Haskell.
Entry Filed under: Technology, Rant
2 Comments Add your own
1. matthias | October 12th, 2005 at 7:17 am
A solution to the particular problem above was posted to the c2hs mailing list. That was two months ago. Why the c2hs authors didn’t bother releasing a new version with the problem fixed is beyond me.
I also had lots of fun trying to get cabal-get to work. I had to resort to hacking nearly a dozen makefiles and package config files to get it to build and install. Then I tried using it to install several of the available packages - all of the installations failed for one reason or another!
2. Shae Erisson | October 24th, 2005 at 11:41 am
Cabal isn’t considered finished yet, and cabal-get even more so. It’s getting closer though. There’s a lot of activity centered on Cabal and supporting tools.
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed