4 ms·
Haskell does still have major "ease of installation" problems in my experience. On OS X I had to install GCC and change a config file to get packages compiling
by MaxGabriel 12y ago
Haskell does still have major "ease of installation" problems in my experience. On OS X I had to install GCC and change a config file to get packages compiling correctly. [1]
Once I had that working came Cabal issues. "Cabal hell" has been ameliorated by sandboxes, but to use these you need to update the version of cabal-install that comes with Haskell Platform (I think they're close to updating Haskell Platform though). But when you update cabal-install the built binary isn't in your PATH for many users [2].
Once you get sandboxes working, you're in a good position to install packages. But because you're starting fresh, installing a larger package like Yesod takes me around ~2 hours (iirc).
Even when you have all that working, adding new packages can be hairy because of the frequent conflicts between packages.
I've distilled all this into a few sentences, but installation issues on Haskell have caused many hours of frustration for me (far more so than, say, Ruby).
I think many of these problems are fixed by using http://ghcformacosx.github.io/ http://ghcformacosx.github.io/, but that project is 2 months old so wasn't an option until recently. Recent advancements in Cabal like sandboxes and version freezing (1.20) are dramatically improving this situation so I'm optimistic for future users of Haskell.
[1] http://stackoverflow.com/a/21285413/1176156 http://stackoverflow.com/a/21285413/1176156
[2] http://stackoverflow.com/questions/14918251/have-i-upgraded-my-cabal-install http://stackoverflow.com/questions/14918251/have-i-upgraded-...
- akurilin 12y agoSetting up Haskell is actually pretty well understood nowadays thanks to tons of people going through the flow and posting the latest "how to" here: https://github.com/bitemyapp/learnhaskell https://github.com/bitemyapp/learnhaskell . For Ubuntu for example, it's not much harder than installing a few packages from a PPA and adding a line to your $PATH Cabal does OK for the most part nowadays, but it's definitely still a challenge with the monster projects like Yesod. Supposedly that's a work in progress for now.
- wyager 12y ago>Haskell does still have major "ease of installation" problems in my experience. Really? I literally just did brew install haskell-platform cabal update cabal install cabal-install and I'm running the second-to-latest major release of GHC and the latest release of cabal.
- MaxGabriel 12y agoYes, really. Reference the SO post linked to; there are numerous people who had issues updating cabal-install. I've seen them referenced in /r/haskell and in Haskell documentation. The homebrew installation of haskell-platform may resolve some of these issues; I'm not familiar with it. Additionally, you're working with the knowledge that once you install Haskell Platform, you need to update cabal-install (This is not something a newcomer would expect given that they just downloaded cabal via Haskell Platform). Just getting the Platform installed is misleading as well; there's still the issue of dealing with package conflicts which happens frequently in Haskell and is non-trivial to deal with for a newcomer. Finally, using Haskell Platform at all might cause troubles; it's explicitly recommended against by the popular Getting Started guide by bitemyapp https://github.com/bitemyapp/learnhaskell https://github.com/bitemyapp/learnhaskell because it uses the global package database.
- wyager 12y ago>Additionally, you're working with the knowledge that once you install Haskell Platform, you need to update cabal-install Well, you don't really need to. It will work fine even if you don't (and I think it notifies you to upgrade if an upgrade is available). You don't even need to use cabal to get started. > there's still the issue of dealing with package conflicts which happens frequently in Haskell and is non-trivial to deal with for a newcomer. How strange. I've done quite a few Haskell projects and never run into this. I didn't start using Cabal sandboxes until recently.