Stack is a tool to build
Haskell
Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lang ...
projects and manage their dependencies. It uses the
Cabal
A cabal is a group of people who are united in some close design, usually to promote their private views or interests in an ideology, a state, or another community, often by intrigue and usually unbeknownst to those who are outside their group. Th ...
library but with a curated version of the Hackage repository called ''Stackage''.
Stack competes against Cabal's binary cabal-install and has been created as a result of the overall criticism about dependency problems.
It does not, however, provide its own
package format
A package format is a type of archive containing computer programs and additional metadata needed by package managers. While the archive file format itself may be unchanged, package formats bear additional metadata, such as a manifest file or certa ...
, but uses existing
*.cabal
files and complements projects with an additional
stack.yaml
file.
References
Free software programmed in Haskell
Free package management systems
Software using the BSD license
{{Install-software-stub