Please see the README.md for usage information, and
the wiki on Github for more details. Also, note that
the API for the library is not currently stable, and may
change significantly, even between minor releases. It is
currently only intended for use by the executable.

How to install

Note: if you are using cabal-install to install stack, you may need to pass a constraint to work around a Cabal issue: cabal install --constraint 'mono-traversable >= 0.9' stack.

How to use

Go into a Haskell project directory and run stack build. If everything is
already configured, this will:

Download the package index.

Download and install all necessary dependencies for the project.

Build and install the project.

You may be prompted to run some of the following along the way:

stack new to create a brand new project.

stack init to create a stack configuration file for an existing project.
stack will figure out what Stackage release (LTS or nightly) is appropriate
for the dependencies.

stack setup to download and install the correct GHC version in an isolated
location that won't interfere with any system-level installations. (For
information on installation paths, please use the stack path command.)

If you just want to install an executable using stack, then all you have
to do is stack install <package-name>.

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.