Stack is a tool to build projects and manage their dependencies for the programming language Haskell. It uses the Cabal library but with a curated version of the Hackage software repository named Stackage.
Stack competes against Cabal's binary file cabal-install and has been created as a result of the overall criticism about dependency problems. However, it does not provide its own package format, but uses extant *.cabal files and complements projects with an added stack.yaml file.
External links
Official website stack on GitHub
References
"Stackage Server". FP Complete. Retrieved 13 January 2016. https://www.fpcomplete.com/blog/2014/05/stackage-server ↩
"Haskell Communities and Activities Report Thirty Second Edition" (PDF). Mihai Maruseac. May 2017. Retrieved 2017-08-10. https://www.haskell.org/communities/05-2017/report.pdf ↩
"Why is stack not cabal?". Retrieved 27 January 2016. This blog post is intended to answer two very frequest [sic] questions about stack: how is it different from Cabal? And: Why was it developed as a separate project instead of being worked on with Cabal? https://www.fpcomplete.com/blog/2015/06/why-is-stack-not-cabal ↩
"What do Haskellers want? Over a thousand tell us". Retrieved 13 January 2016. Package management with cabal is the single worst aspect of using Haskell. Asked if improvements to package management would make a difference to their future choice of Haskell for a project, 38% said it would be "crucial" and a further 29% said it would be "important". Comments connected cabal with words like hell, pain, awful, sucks, frustrating, and hideous. Only this topic showed such grave dissatisfaction. https://www.fpcomplete.com/blog/2015/05/thousand-user-haskell-survey ↩