You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Khan Thompson 8a6d98739e Naive implementation that (only just) works 7 years ago
etc Add more build dependencies (closes #309) and remove gnupg2 (closes #294) 7 years ago
src Naive implementation that (only just) works 7 years ago
test/package-dump Initial package dump parsing #166 7 years ago
.dir-locals.el Update .dir-locals.el/.ghci for stack exec ghci 7 years ago
.dockerignore Add code to create signed debian packages & host them on s3 7 years ago
.ghci Update .ghci 7 years ago
.gitignore .gitignore: add .docker-sandbox/ 7 years ago
.travis.yml Install cpphs 7 years ago Add Contributing Guidelines (issue #322) 7 years ago --resolver (closes #224) 7 years ago
LICENSE Fix cabal check warnings 7 years ago
Makefile use the new s3 bucket location 7 years ago Update questions section with mailing list 7 years ago
Setup.hs First commit 7 years ago
stack.cabal Naive implementation that (only just) works 7 years ago
stack.yaml 'docker pull' subcommand 7 years ago

The Haskell Tool Stack

Build Status

stack is a cross-platform program for developing Haskell projects. It is aimed at Haskellers both new and experienced.

It features:

  • Installing GHC automatically.
  • Installing packages needed for your project.
  • Building your project.
  • Testing your project.
  • Benchmarking your project.

How to install

Downloads are available by operating system:

How to use

Go into a Haskell project directory and run stack build. This will do the following:

  • Automatically create a stack configuration file in the current directory.
  • Figure out what Stackage release (LTS or nightly) is appropriate for the dependencies.
  • Download and install GHC.
  • Download the package index.
  • Download and install all necessary dependencies for the project.
  • Build and install the project.

Run stack for a complete list of commands.


A full description of the architecture is available here.

Questions, Feedback, Discussion

Why stack?

stack is a project of the Commercial Haskell group, spearheaded by FP Complete. It is designed to answer the needs of commercial Haskell users, hobbyist Haskellers, and individuals and companies thinking about starting to use Haskell. It is intended to be easy to use for newcomers, while providing the customizability and power experienced developers need.

While stack itself has been around since June of 2015, it is based on codebases used by FP Complete for its corporate customers and internally for years prior. stack is a refresh of that codebase combined with other open source efforts like stackage-cli to meet the needs of users everywhere.

A large impetus for the work on stack was a large survey of people interested in Haskell, which rated build issues as a major concern. The stack team hopes that stack can address these concerns.