7 ms·
It's not just people at FP Complete `et al` who were frustrated with cabal-install. Cabal-hell was the number one problem with using Haskell for commercial proj
by mcbuilder 10y ago
It's not just people at FP Complete `et al` who were frustrated with cabal-install. Cabal-hell was the number one problem with using Haskell for commercial projects, as a majority of people responded who took part in a FP Complete Haskell organized survey (this was before stack was officially released), https://www.fpcomplete.com/blog/2015/05/thousand-user-haskell-survey https://www.fpcomplete.com/blog/2015/05/thousand-user-haskel.... I wrote that survey, if you want to discuss methodology I would be happy to. Anecdotally, after contacting by email most of the respondents, very few complained of a fragmentation the community by virtue of stack being released. We could argue all day over about arguments on reddit, but data suggests otherwise.
FP Complete is a commercial consulting firm now targeting life science companies. We use Haskell because we believe it is the best modern language for robust high-performance software. It is not our goal to own the Haskell ecosystem. It is our goal to promote Haskell use and to develop reliable tooling. Do people feel the same way about continuum analytics for releasing Anaconda and special versions of numpy?
- MustardTiger 10y agoThat doesn't address what I said at all. People were not frustrated with cabal-install, they were frustrated with package installation errors, and blamed cabal-install and "cabal hell" (despite the vast majority of errors having nothing to do with cabal hell). But the actual problem is widely used packages written by FP complete people deliberately refusing to follow the PvP. Yesod was the biggest example, everyone complained about how impossible it was to install. We did not need a curated set of packages and a backwards package installation tool to solve that problem, we needed the yesod devs to follow the rules. This is exactly what I mean. You create a problem, spread FUD about the problem, then "solve" the problem by conveniently trying to move everyone to your separate ecosystem and tooling.
- mcbuilder 10y agoI would avoid any speculation into malicious and/or manipulative actions. Personally, I think PVP is a beautiful idea, but fails in practice. Even if you were correct in asserting that Yesod devs were intentionally polluting the waters by refusing to supply upper version bounds, such a fragile system clearly shouldn't be the tool of choice for Haskell. BTW, none of my issues with cabal stemmed from FP Complete packages. It was a widespread problem, and it's not spreading FUD to be outspoken about it. People like you really raise the level of name calling to a whole new level. It's open source, people are free to choose what tool they wish to use, develop which tool they wish, and recommend which tools they wish. Believe me, FP Complete is not makings tons of profit in an attempt to convert everyone to Stackage.
- MustardTiger 10y agoIt is absolutely spreading FUD to convince new users that simple problems they have are "cabal hell" and are best solved by switching to stack. And being open source does not make anything I said "name calling".
- Tehnix 10y agoYou sound like you have never tried to install any sizable haskell package ever... Cabal-hell was a very real problem, and an inordinate amount of time was spent by package maintainers to help people installing their packages, even on the IRC #haskell channel, cabal-hell questions would very frequently pop-up. Also, you FUD about Yesod is not true at all, they followed the PVP closely up until 1.1.0, as another commenter mentioned. Even with the PVP, you would basically have to nuke your cabal packages, or, when sandboxes finally came in cabal, you could use them. Stack completely removes some very real problems with building packages. Honestly, having read all your comments in this thread, you seem to be either a troll, or someone who clearly has no idea of the history of haskell tooling....
- MustardTiger 10y ago>You sound like you have never tried to install any sizable haskell package ever. You sound like you have never read what I posted and decided a strawman was better than replying to what I actually said. >Cabal-hell was a very real problem Nobody suggested otherwise. Tricking people into thinking normal errors are "cabal hell" does not mean cabal hell didn't exist.
- lallysingh 10y agoWhat were the failures with PvP? Is there a blog post/postmortem I could read?
- mej10 10y agoYeah, I am sure a for-profit company really wants to maintain a compiler for a minimally used language.
- MustardTiger 10y agoWhat does your post have to do with anything I said?
- mej10 10y ago> It is FP Complete, a corporation attempting to subvert the haskell community for their financial benefit. There are much, _much_ better and easier ways to make money than what you are suggesting. The idea that they would produce and give away these tools that fix real problems (whether you want to believe it or not) just to somehow down the line subvert the Haskell community to financially benefit is just _absurd_. If this were a larger programming community I could possibly believe it, but Haskell? Which is mostly used by hobbyist? Come on. Have they ever refused to merge a PR because they want you to pay for it? What evidence do you have for this _at all_?
- HaskellMuppet 10y agoIt's more subtle than that. Sure, Stack is OSS and all that. But Stack's developers have a vision of their own how Stack and Stackage (and by extension the Haskell ecosystem) are supposed to work. They may even make Stack rely on services controlled/hosted exclusively by FPC rather than a neutral entity. And they will reject feature-requests or PRs which don't fit their agenda rather than because you didn't pay them enough. As long as Stack doesn't add any essential functionality over Cabal which would make a package unbuildable with plain Cabal we're good.
- lallysingh 10y ago> And they will reject feature-requests or PRs which don't fit their agenda rather than because you didn't pay them enough. Attribution? And frankly, couldn't you fork stack?
- michaelt_ 10y agoThis totally rewrites history. The idea of scrapping upper bounds was introduced by Brian O'Sullivan https://mail.haskell.org/pipermail/haskell-cafe/2012-August/102885.html https://mail.haskell.org/pipermail/haskell-cafe/2012-August/... whereupon it was adopted by yesod as you can see by comparing http://hackage.haskell.org/package/yesod-1.1.0 http://hackage.haskell.org/package/yesod-1.1.0 (before bos's verdict) and http://hackage.haskell.org/package/yesod-1.1.0.1 http://hackage.haskell.org/package/yesod-1.1.0.1 (after bos's verdict). If you study the cabal file for yesod 1.1.0 you will see that the method it employed then was extreme restriction of constraints. I don't use stack all that much, and certainly disapprove of omitting upper bounds, but the truth is, it was a chamber of horrors to get really large complex builds to work in those days. pandoc and yesod in particular were really hopeless, and one was constantly explaining to beginners how to get these things to work. Now these problems don't arise; if you are building something that will require 50 libraries to be installed, of course you use stack.