Stack
Stack is a new approach to Haskell package structure that emerged in 2015. Instead of using a rolling build like cabal-install, stack breaks up sets of packages into release blocks that guarantee internal compatibility between sets of packages. The package solver for stack uses a different, more robust strategy for resolving dependencies than cabal-install has historically used.
table:stackCommand
Command Description
stack build Compile code
stack ghci Run in ghci mode
stack new (template name) Create new workspace
stack test Run tests
stack bench Run benchmark
stack haddock Create haddock document
stack haddock --open (library name) Open selected haddock document
stack test --fast --haddock-deps --file-watch Should use it all the time!
stack hoogle -- generate --local To access local documentation
stack hoogle -- server --local --port=8080 Start hoogle server
stack build intero Integrate Intero IDE
Use package.yaml file to configure your project
You can set default-extensions in package.yaml file to enable language extensions globally.
Useful link
The Haskell Tool Stack