Making Haskell predictable, stable, and actually fun to use in production.
GHC ships breaking changes with every release. There is no LTS model, no backport policy, and no stability guarantee. In practice this means:
- Compiler upgrades are expensive. Keeping a large production codebase current with GHC requires at least one dedicated full-time engineer to manage the churn.
- Cross-compilation is effectively broken. Template Haskell makes it extremely difficult to compile Haskell for mobile (iOS, Android), WebAssembly, or Windows from Linux. Languages like Go and Rust simply don't have this problem.
- The ecosystem cascades. Every compiler release forces library updates across all of Hackage. Old versions rarely get patched, so upgrading the compiler means upgrading everything else too.
We know this first-hand. Our team spent years at IOG maintaining a patched compiler fork and the haskell.nix infrastructure just to paper over these gaps while running Haskell in production for the Cardano blockchain — which has operated continuously across multiple hard forks for years.
Stable Haskell is a GHC distribution built around stability, compatibility, and practical usability:
| What | How |
|---|---|
| LTS releases | Predictable release cadence with backport commitments |
| Multi-target | One compiler binary for all targets — mobile, web, Windows, WASM |
| Self-contained | Download, unzip, run. No configure && make install. |
| Cabal-first | Built with cabal-install, removing the bespoke GHC build system as a barrier |
| External interpreter | iserv-based by default, enabling true cross-compilation including Template Haskell |
| Drop-in compatible | Accepts the same CLI as upstream GHC; incompatible flags produce a clear error message |
The distribution ships everything a Haskell developer needs: GHC, cabal-install, and HLS.
Our team includes the engineers who built:
- GHC's Native Bignum Backend — Arbitrary-precision integers
- AArch64 Native Code Generator — ARM support in GHC
- JavaScript Backend in GHC — Haskell in the browser
- GHCup — The standard Haskell toolchain installer
- haskell.nix — Reproducible Haskell builds with Nix
- Cross-compilation support — Windows, iOS, Android targets
- GHC's In-Memory Loader & Linker — Dynamic loading infrastructure
- And much more across GHC internals
We're also active contributors to the wider ecosystem: GHC Steering Committee, Core Libraries Committee, Haskell.org Committee, and the Haskell Foundation. We upstream our fixes.
- stable-haskell.org — Sign up for updates and try our AI advisor
- Why Stable Haskell? — The full rationale: production experience, technical architecture decisions, and our vision for the ecosystem
A portion of proceeds goes to the Haskell Foundation. 🐢