Haskell tooling for the age of AI-authored code.

hx is a fast package manager written in Rust. BHC is a compiler built to check everything it can. When generating code is cheap, correctness has to be checkable.

curl -fsSL https://arcanist.sh/hx/install.sh | sh

Why we are doing this

The model does not need to be right. It needs to be checkable.

Haskell has been called niche for thirty years. That framing assumes a world where humans write all the code. In a world where AI writes most of it, the language that wins is the one where correctness is checkable. Haskell is not niche in that framing. It is early.

Read the full thesis →

Questions, answered

Why Haskell in 2026?

Haskell has been called niche for thirty years, but that framing assumes humans write all the code. When AI writes most of it, the language that wins is the one where correctness is checkable — where types are proofs and the compiler is the proof checker. Haskell is not niche in that framing. It is early.

Why build a Haskell toolchain in Rust?

A toolchain should not share its dependencies with the thing it manages. Haskell's tooling problems are partly caused by tooling written in Haskell, which creates bootstrap problems and long compile times. A Rust binary starts in milliseconds, ships as a single static executable, and cross-compiles trivially. We write the tooling in Rust, but we think in Haskell.

What is BHC, and how is it different from GHC?

BHC, the Basel Haskell Compiler, is a clean-slate compiler for Haskell. It compiles the same language with the same type safety, but adds runtime profiles — default, server, numeric and edge, with realtime and embedded planned — each with a different performance contract. It is compatibility-first, aiming to match GHC's semantics, and already compiles all 221 modules of Pandoc to a running binary.

Is this just speculation about AI?

No. The thesis is grounded in shipped tooling. hx delivers 5.6x faster cold builds and deterministic lockfiles today, and both hx and BHC were themselves built with AI coding agents. The thesis tested itself during its own construction.

What if you are wrong, and Haskell never revives?

We have a conviction, not a crystal ball. Even if the broader bet does not land, the work stands on its own: fast Rust-based tooling, deterministic builds, runtime profiles, and structured, machine-readable errors are valuable for any Haskell project today.

If AI writes the code, what do humans do?

We define constraints. We shape intent. We evaluate outcomes. The unit of work becomes the obligation, not the function — closer to architecture than to authorship. The compiler still has to verify the result, and Haskell makes that verification load-bearing.

Is arcanist.sh open source?

Yes. hx is MIT-licensed and BHC is BSD-3-Clause, and both are developed in public on GitHub, with open issues, roadmaps, and design decisions.

How do I get started?

Install hx, pick your compiler, and build. hx manages the toolchain, resolves dependencies, and drives builds, while BHC is available as a compiler backend. See the documentation to set up your first project.