Stack (Haskell)

{{Short description|Haskell development tool}}

{{About|the Haskell tool Stack|the data type and concept|Stack (abstract data type)|and|Stack (disambiguation){{!}}Stack}}

{{Infobox software

| name = stack

| logo =

| screenshot =

| caption =

| released = {{Start date and age|2015|06|23}}{{cite web|title=stack 0.1 released|url=https://www.fpcomplete.com/blog/2015/06/stack-0-1-release|website=FP Complete|access-date=13 January 2016}}

| latest release version = 2.7.1{{cite web|title=Release v2.7.1|url=https://github.com/commercialhaskell/stack/releases/tag/v2.7.1|access-date=11 Jun 2021|website=GitHub repository commercialhaskell/stack}}

| latest release date = {{Start date and age|2021|05|08}}

| programming language = Haskell

| operating system = Unix, Unix-like, Windows

| platform =

| size = 60 megabytes

| language = English

| license = BSD

| website = {{URL|www.haskellstack.org}}

}}

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.{{cite web|title=Stackage Server|url=https://www.fpcomplete.com/blog/2014/05/stackage-server|website=FP Complete|access-date=13 January 2016}}{{cite web|url=https://www.haskell.org/communities/05-2017/report.pdf|title=Haskell Communities and Activities Report Thirty Second Edition|date=May 2017|publisher=Mihai Maruseac|access-date=2017-08-10}}

Stack competes against Cabal's binary file cabal-install{{cite web|title=Why is stack not cabal?|url=https://www.fpcomplete.com/blog/2015/06/why-is-stack-not-cabal|quote=This blog post is intended to answer two very {{sic|frequest}} 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?|access-date=27 January 2016}} and has been created as a result of the overall criticism about dependency problems.{{cite web|title=What do Haskellers want? Over a thousand tell us|url=https://www.fpcomplete.com/blog/2015/05/thousand-user-haskell-survey|quote=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.|access-date=13 January 2016}} However, it does not provide its own package format, but uses extant *.cabal files and complements projects with an added stack.yaml file.

References

{{Reflist}}