When I started developing in Haskell, there were many opinions on what build-tools, what IDE/text-editor you should use. Each coming with their own pros and cons.
After playing around with the number of options, I eventually found a setup which just works, and would like to share that tool stack with anyone / newcomers who are still undecided on what toolchain they should use.
For the project building and management side of things, Nix
and Cabal
is my main go-to solution.
Nix is a package manager for Linux and Unix systems. (Think virtualenv
but on steroids).
Cabal is a package manager for Haskell, combine that with Nix
and you'll have next level sandboxing and environment reproducability.
I tried many different editors/ide-combos but eventually settled on NeoVim
with ghci
, due to it's sheer simplicity.
NeoVim is great. It's lightweight, its simple, and it boots up almost instantly. It also does the one thing you want a text editor to do really well - editing text.
You can grab the neovim config file here
Glasgow's Haskell Compiler Interactive is a REPL for Haskell. Just because it's simple doesn't mean its not powerful though.
With the use of typeholes
(_
), ghci
will able infer the types and assist you in solving the problem.
Developing on Haskell can be as complicated, or as simple as you choose it to be.