Flexible Haskell brings a full Haskell IDE to every JetBrains product

Flexible Haskell brings a full Haskell IDE to every JetBrains product

Flexible Haskell (v2026.1.26) adds a BNF grammar engine, HLS integration, GHCi REPL, and a full breakpoint debugger to every JetBrains IDE — $99/yr, free for OSS.

VS Code / JetBrains Plugin Pick
2026/6/21 · 1:19
1 订阅 · 34 内容
Haskell has had decent VS Code support for years. JetBrains users never got a comparable story — until March 2026, when Flexible Haskell landed on the JetBrains Marketplace. Three months of iteration later, v2026.1.26 shipped on June 15 with fixed autocomplete suggestions, and the plugin now covers the full development loop: grammar-aware syntax engine, HLS language server, an integrated GHCi REPL, and a proper GHCi debugger with breakpoint stepping. 1

The engine under the hood

Most JetBrains language plugins delegate everything to an LSP server and call it done. Flexible Haskell does something different: it ships its own BNF/JFlex grammar covering the full GHC syntax — type families, GADTs, language pragmas, and all. That means syntax highlighting, Structure View, gutter icons (one per module / data / newtype / class / instance), and Symbol Search work even before HLS connects. 2
HLS layers on top and handles the things a grammar alone cannot: identifier completion, type-aware diagnostics, hover documentation (Ctrl+Q), Go to Declaration (Ctrl+Click), and Find Usages (Alt+F7). A status bar widget shows the current HLS state and the GHC version in use — useful for diagnosing slow initialization. SDK management is handled through GHCup integration; Tools → Haskell → Download GHC SDK pulls a GHC build without leaving the IDE. 1
正在加载内容卡片…

GHCi REPL and debugger

The REPL runs inside a JediTerm terminal pane — the same emulator JetBrains uses for its built-in terminal. Select a block and press Alt+Shift+Enter to send it to GHCi; Ctrl+Shift+F10 loads the current file. Stack traces in the REPL output are clickable and navigate to the source line. 1
The debugger goes further than most Haskell tooling. Click the gutter to place a red-dot breakpoint, then press F9 to run. When execution pauses, the Variables panel shows local bindings with their inferred types — start = Integer 6, go :: Integer -> Int -> IO (), and so on. Step Into is F7, Step Over is F8. Breakpoints auto-relocate if they land on a non-expression line. 1
GHCi debugger paused at a breakpoint in collatzTrace, Variables panel showing start = Integer 6
GHCi debugger paused inside collatzTrace, with start = Integer 6 visible in the Variables panel. 2

Code intelligence and live templates

Rename refactoring (Shift+F6) and Rename across modules, six auto-inspections with Alt+Enter quick-fixes (missing type signature, unused import, redundant pragma, variable shadowing, incomplete pattern, unused binding), import optimization (Ctrl+Alt+O), and format-on-save round out the editing experience. For formatting, the plugin has its own Haskell-specific operator-spacing formatter and also integrates Ormolu, Fourmolu, and Brittany as external formatters. 1
The live template library ships ~99 templates across seven groups: General, IO, Typeclass, Lens, Monad, Test, and Concurrency. Ten postfix templates handle common transforms — .map, .filter, .case, .let, .show, .print, .pure, .return, .not, .par — and seven Surround With templates cover Parentheses, Let-in, Do, Case-of, If-then-else, Where, and Lambda. 1

Pricing, compatibility, and quick-start

The plugin is paid: $99/year or $4.90/month per user. Free tiers exist for open-source projects and students; nonprofits and startups get 50% off. A free trial is available directly on the marketplace page. 2 3
PluginFlexible Haskell (ID 30630)
IDEIntelliJ IDEA 2023.3+, PyCharm Community, GoLand, WebStorm, CLion, RubyMine, Android Studio Jellyfish+, and 10+ more
Latest versionv2026.1.26 (June 15, 2026)
Price$99/year · $4.90/month · Free for OSS & students
Installplugins.jetbrains.com/plugin/30630-flexible-haskell
Rating4.5/5 on JetBrains Marketplace
Paul Piper, the developer at Ilscipio GmbH, noted in the launch announcement: "I tried to push out a solid set of features from the start: HLS integration for smart completions and diagnostics, an integrated GHCi REPL, structure view, Haddock docs, live templates, run configurations for Stack, Cabal and runghc." 2

Community pulse

The plugin's launch thread on Haskell Discourse drew 67 replies and over 2,000 views — a meaningful signal for a niche language community. 2 The most-tracked issue in the GitHub repo is the HLS initialization hang reported on macOS:
正在加载内容卡片…
Reception on r/haskell has been genuinely mixed. Some early adopters found the plugin immediately useful; one user reported an HLS initialization hang on a MacBook Pro M3 Max that required manual workarounds, though the developer responded quickly with a fix. 4 The more pointed skepticism centers on a legitimate question: HLS itself is free, and JetBrains' own LSP4IJ framework already allows wiring custom language servers into any IDE at no cost. One r/haskell commenter put it directly: "Don't bother. I don't see any advantage in terms of Haskell development in IntelliJ IDEA compared to VSCode to warrant a paid plugin." 5
That's a fair data point to weigh. Flexible Haskell's value over a bare LSP4IJ setup is the integrated debugger, the 99 live templates, the custom grammar for structure navigation, and the run configuration support for Stack, Cabal, and runghc — none of which LSP4IJ provides out of the box. Whether those additions are worth $99/year depends on how much time you spend in JetBrains products and how often you reach for the debugger. The plugin was featured in Haskell Weekly Issue 516 in March 2026, 6 and the developer is active on both GitHub issues and Discourse. The trial is free — that's the right place to start.
Cover image: AI-generated illustration

围绕这条内容继续补充观点或上下文。

  • 登录后可发表评论。