Awesome
State of Haskell editor/IDE support
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.
The chart (with a link to each plug-in)
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<br>「ide-haskell <sup>[gh]</sup>」 | ❓ | ❓ | 🏆 | 🥈 | 🥈 | 🥈 | 🌱 | 🥈 | ❓ | 🥈 | 🥈 | 🥈 | 🏆 | 🌱 | ❓ |
Emacs 「Intero <sup>[gh]</sup>」 | intero | 🥈 | 🏆 | 🥈² | 🥈² | 🥈² | 🥈 | 🥈² | ❓ | ⛔ | 🥈² | 🥈 | ❓ | 🥈 | ❓ |
Haskell for Mac | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
Intellij 「HaskForce <sup>[gh]</sup>」 | ❓ | ❓ | 🏆² | 🥈 | 🥈 | 🥈 | 🥈 | 🥈 | 🥈 | ⛔ | ⛔ | 🥈 | ⛔ | ⛔ | ❓ |
Intellij<br>「intellij‑haskell <sup>[gh]</sup>」 | ❓ | ❓ | 🏆² | 🥈 | 🏆 | 🌱 | 🌱 | 🏆 | 🏆 | ⛔ | 🌱 | 🥈 | 🌱 | ❓ | ❓ |
Leksah | ❓ | ❓ | 🏆¹ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
Vim | ❓ | ❓ | 🏆¹ | 🌱¹ | ❓ | 🥈³ | 🥈 | 🌱¹ | ❓ | ⛔ | 🥈 | 🥈 | ❓ | 🌱 | ❓ |
VSCode 「GHC Simple <sup>[gh]</sup>」 | ghci | 🏆 | 🏆 | 🥈 | ❓ | 🥈 | 🥈 | 🥈² | 🥈 | 🌱 | 🥈² | 🌱 | 🥈 | 🥈 | ❓ |
VSCode 「Haskelly <sup>[gh]</sup>」 | intero | 🥈 | 🏆 | ❓ | ⛔ | 🥈 | 🥈 | 🥈² | ❓ | 🌱 | 🥈² | 🌱 | 🥈 | 🌱 | ❓ |
VSCode 「Haskero <sup>[gl]</sup>」 | intero | 🥈 | 🏆 | 🥈² | 🥈² | 🥈 | 🥈 | 🥈² | 🥈² | 🌱 | 🥈² | 🌱 | 🥈² | ⛔ | ❓ |
Spacemacs | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ | ❓ |
Sublime 「SublimeHaskell <sup>[gh]</sup>」 | ❓ | ❓ | 🏆² | 🥈² | ❓ | 🥈² | ❓ | 🌱¹ | ❓ | ⛔ | 🥈² | ❓ | ❓ | 🌱 | ❓ |
Meaning of each level
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
Features
- 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