Initial release | June 23, 2015[1] |
---|---|
Stable release | 2.7.1[2]
/ May 8, 2021 |
Written in | Haskell |
Operating system | Unix, Unix-like, Windows |
Size | 60 megabytes |
Available in | English |
License | BSD |
Website | www |
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.[3][4]
Stack competes against Cabal's binary file cabal-install[5] and has been created as a result of the overall criticism about dependency problems.[6] However, it does not provide its own package format, but uses extant *.cabal
files and complements projects with an added stack.yaml
file.
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?
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.
Official website stack on GitHub