The following terms are used in Stack's documentation.
Term | Meaning |
---|---|
Cabal | The Haskell Common Architecture for Building Applications and Libraries, provided by the Cabal package. Also referred to as Cabal (the library) to distinguish it from Cabal (the tool). |
Cabal file | A file containing a package description used by Cabal, named <package_name>.cabal . |
Cabal (the tool) | The Haskell build tool provided by the cabal-install package. |
CI | Continuous integration. |
CMake | A system for managing build processes. |
config.yaml |
A global and non-project-specific configuration file used by Stack. |
Docker | A platform for developing, shipping, and running applications. It can package and run an application in a loosely isolated environment called a container. |
Emacs | GNU Emacs, an extensible, customisable text editor. |
extra-deps | Packages in addition to those in a snapshot, named after a key used in stack.yaml files. |
FreeBSD | A Unix-like operating system. |
GCC | The GNU Compiler Collection or its executable gcc . |
GHC | The Glasgow Haskell Compiler. |
GHCi | GHC's interactive environment. |
GHCJS | A Haskell to JavaScript compiler. |
GHCup | An installer for Haskell. |
Git | A distributed version control system. |
GPG | The GNU Privacy Guard or GnuPG, software that allows you to encrypt or sign your data and communications. |
Hackage | The Haskell Package Repository. |
Haddock | The document generation tool for Haskell libraries. |
'Haskell' extension | The 'Haskell' extension for VS Code. |
HLS | Haskell Language Server, an implementation of the Language Server Protocol for Haskell. |
Homebrew | A package manager for macOS or Linux, or its executable brew . |
Hoogle | A Haskell API search engine. |
Hpack | A format for Haskell packages or the executable hpack that produces a Cabal file from package.yaml . |
Linux | A family of operating systems based on the Linux kernal. |
macOS | The primary operating system for Apple's Mac computers. Previously known as Mac OS X or OS X. |
Make | A build automation tool. |
MSYS2 | The MSYS2 software distribution and building platform for Windows. |
Nix | A purely functional package manager, available for Linux and macOS. |
package.yaml |
A file that describes a package in the Hpack format. |
Pantry | A library for content-addressable Haskell package management, provided by the pantry package. A dependency of Stack. |
PATH | The PATH environment variable, specifying a list of directories searched for executable files. |
PVP | The Haskell Package Versioning Policy, which tells developers of libraries how to set their version numbers. |
REPL | An interactive (run-eval-print loop) programming environment. |
resolver | A synonym for snapshot. |
Setup.hs |
A project-specific file used by Cabal to perform setup tasks. |
snapshot | A snapshot defines a GHC version, a set of packages, and build flags or other settings. |
Stack | The Haskell Tool Stack project or its executable stack . |
stack.yaml |
A project-level configuration file used by Stack, which may also contain non-project-specific options. |
Stackage | A distribution of compatible Haskell packages. |
Stack root | A directory in which Stack stores important files. See stack path --stack-root . On Windows, Stack also stores important files outside of the Stack root. |
Unix-like operating systems | Linux, FreeBSD and macOS. |
VS Code | Visual Studio Code, a source code editor. |
Windows | A group of operating systems developed by Microsoft. |
WSL | Windows Subsystem for Linux. Provides a Linux environment on Windows. |
YAML | A human-friendly data serialization language. |