This chart describes the support level of each Haskell editor/IDE plug-in combination.
In most cases there is a main plug-in which acts as a base for the provided features.
Each known plug-in has an associated link and tooltip with its name.
| IDE | Backend | Easy to install | Syntax highlight | Code Completion | Error Reporting | Lint | Code Format | Goto Def | Find Usages | Stepwise Debugger | Doc. tooltips | Snippets | Hoogle | REPL Integration | Build Command |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Atom 「ide-haskell [gh]」 |
❓ | ❓ | 🏆 | 🥈 | 🥈 | 🥈 | 🌱 | 🥈 | ❓ | 🥈 | 🥈 | 🥈 | 🏆 | 🌱 | ❓ |
| Emacs 「Intero [gh]」 | intero | 🥈 | 🏆 | 🥈² | 🥈² | 🥈² | 🥈 | 🥈² | ❓ | ⛔ | 🥈² | 🥈 | ❓ | 🥈 | ❓ |
| Haskell for Mac | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| Intellij 「HaskForce [gh]」 | ❓ | ❓ | 🏆² | 🥈 | 🥈 | 🥈 | 🥈 | 🥈 | 🥈 | ⛔ | ⛔ | 🥈 | ⛔ | ⛔ | ❓ |
| Intellij 「intellij‑haskell [gh]」 |
❓ | ❓ | 🏆² | 🥈 | 🏆 | 🌱 | 🌱 | 🏆 | 🏆 | ⛔ | 🌱 | 🥈 | 🌱 | ❓ | ❓ |
| Leksah | ❓ | ❓ | 🏆¹ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| Vim | ❓ | ❓ | 🏆¹ | 🌱¹ | ❓ | 🥈³ | 🥈 | 🌱¹ | ❓ | ⛔ | 🥈 | 🥈 | ❓ | 🌱 | ❓ |
| VSCode 「GHC Simple [gh]」 | ghci | 🏆 | 🏆 | 🥈 | ❓ | 🥈 | 🥈 | 🥈² | 🥈 | 🌱 | 🥈² | 🌱 | 🥈 | 🥈 | ❓ |
| VSCode 「Haskelly [gh]」 | intero | 🥈 | 🏆 | ❓ | ⛔ | 🥈 | 🥈 | 🥈² | ❓ | 🌱 | 🥈² | 🌱 | 🥈 | 🌱 | ❓ |
| VSCode 「Haskero [gl]」 | intero | 🥈 | 🏆 | 🥈² | 🥈² | 🥈 | 🥈 | 🥈² | 🥈² | 🌱 | 🥈² | 🌱 | 🥈² | ⛔ | ❓ |
| Spacemacs | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
| Sublime 「SublimeHaskell [gh]」 | ❓ | ❓ | 🏆² | 🥈² | ❓ | 🥈² | ❓ | 🌱¹ | ❓ | ⛔ | 🥈² | ❓ | ❓ | 🌱 | ❓ |
| Symbol | Support Level |
|---|---|
| ? | Unknown, support is uncertain |
| ⛔ | Absent, you are on your own |
| 🌱 | Immature, only for early-adopters |
| 🥈 | Mature, suitable for most programmers |
| 🏆 | The best™ possible experience |
Notes:
- native support (probably minimal)
- via main plug-in
- this plug-in needs special config and/or system deps, refer to its documentation
- Backend - The engine which makes some processing behind scenes to make most of the features available
- Easy to install - Is this setup easy to reproduce? Better when it is one-click and it just works, less when it needs special config, compile by hand, etc
- Syntax highlight
- Code Completion
- Error Reporting
- Lint
- Code Format
- Goto Def
- Find Usages
- Stepwise Debugger
- Doc. tooltips
- Snippets - Predefined and customizable templates for pieces of code you write often. For example, if you write
case, an editor might provide a completion likecase ___ of __ -> ___
- Hoogle
- REPL Integration - Be able to load/reload a file to e.g. ghci and provide interaction. Autocompletion and syntax highlighting are also welcomed.
- Build Command - Project compilation cycle can be started using the editor preferred way