Stack (Haskell) Explained

stack
Released:[1]
Latest Release Version:2.7.1[2]
Programming Language:Haskell
Operating System:Unix, Unix-like, Windows
Size:60 megabytes
Language:English
License:BSD

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.

Notes and References

  1. Web site: stack 0.1 released. FP Complete. 13 January 2016.
  2. Web site: Release v2.7.1. 11 Jun 2021. GitHub repository commercialhaskell/stack.
  3. Web site: Stackage Server. FP Complete. 13 January 2016.
  4. Web site: Haskell Communities and Activities Report Thirty Second Edition. May 2017. Mihai Maruseac. 2017-08-10.
  5. Web site: Why is stack not cabal?. This blog post is intended to answer two very 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?. 27 January 2016.
  6. Web site: What do Haskellers want? Over a thousand tell us. 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.. 13 January 2016.