stylish-haskell review
A focused open-source formatter for Haskell imports, style rules, and source cleanup.
Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026
stylish-haskell is an open-source Haskell formatter delivered as a command-line tool and library. It is suited to developers and teams that want consistent source formatting across imports, LANGUAGE pragmas, records, case branches, whitespace, line endings, tabs, and selected ASCII-to-Unicode conversions. The project supports Windows and Linux, uses self-hosted deployment, and can fit solo developers through enterprise teams that maintain Haskell codebases.
Its main strength is focused formatting depth. stylish-haskell can align and sort import statements, group and wrap LANGUAGE pragmas, align case branches and record fields, format data constructors, remove trailing whitespace, convert line endings, and replace tabs with spaces. Configurable formatting styles let teams define how source should be presented. Integration with Haskell Language Server, Vim, Emacs, Atom, and Visual Studio Code makes it practical for editor-based workflows, while command-line use also suits continuous-integration workflows.
The open-source model keeps the tool available without a paid tier, and installation options include Stack, Cabal, and selected Linux package managers. Documentation and community support are the listed support channels. Its scope is narrower than a full Haskell formatter: the published capabilities do not include ignore-file rules or changed-line-only formatting, and the supported language is Haskell. Choose stylish-haskell when import organization and detailed style cleanup are the priority; choose another formatter when a broader language scope, ignore controls, or changed-line workflows are central requirements.
stylish-haskell pros and cons
- Where it wins
- Aligns and sorts imports, pragmas, case branches, and record fields
- Supports configurable formatting styles and several editor integrations
- Handles whitespace, tabs, line endings, and selected Unicode syntax
- Where it doesn't
- Supports Haskell only
- Does not provide ignore-file rules
- Does not format changed lines only
stylish-haskell fact sheet, pricing and score →
Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.
Last updated · How we research and update