[Haskell-cafe] IDE

Thiago Padilha tpadilha84 at gmail.com
Mon Nov 25 00:20:34 UTC 2013

For most languages/platform I've worked with, the following combo always served
me very well:

- zsh: very powerful bourne-compatible shell
- tmux: terminal multiplexer with powerful scripting features, this provides
  highly flexible session management for software projects or any other admin
  task done through terminal
- vim: one of the best text editors ever, with a very active community and
  thousands of plugins for most programming languages(a nice selection
of haskell

Using these tools as an IDE might seem strange/hard at first(especially for
users of single-program IDEs), but once the initial learning curve is passed you
will find yourself with a very flexible environment that you can adapt
for basically any kind of programming language.

After installing the following vim plugins I had a full-featured haskell IDE:

General-purpose plugins:
- UltiSnips: best snippets plugin for vim
- Syntastic: show syntax errors and hlint warnings everytime you save
- Slimux: Control tmux panes from vim. I use this with a scratchpad to quicky
  test code in ghci

Haskell-specific plugins:
- vim2hs: many haskell-related features, see github page for description
- nego-ghc: smart code completion
- ghcmod-vim: ghcmod integration
- vim-hoogle: easily make hoogle queries from vim

And for those who think terminal applications are ugly, here's a
screenshot of my
IDE in action: https://www.dropbox.com/s/ia3hm69vkxdvcsf/haskell-ide.png

More information about the Haskell-Cafe mailing list