Website | Source

The bet is that Haskell's purity and semantic density already make AI-written, verifiable compute feel natural — once toolchain friction is removed. hx wraps cabal/stack/ghcup/HLS in Rust; BHC is a clean-slate Haskell 2026 compiler with per-profile runtimes.

Camp: Verification
Author: Raffael Schneider
Implementation language: Rust
Compilation target: GHC/Cabal/HLS (hx, wrapping); LLVM, WebAssembly, GPU (BHC, in development)
Licence: MIT (hx); BSD-3-Clause (BHC)
First seen: April 2026
Maturity: early implementation

Key idea

BHC and hx are a single editorial position more than two projects. Schneider argues, across a public trilogy on his blog raskell.io, that Haskell's types-as-proofs and pure-by-default already give LLMs the formal scaffolding they need; the reason Haskell loses to procedural languages in agent benchmarks is the surrounding toolchain — fragmented build tools, slow compiles, one-size-fits-all runtime. The work under the arcanist.sh organisation is the engineering response: hx (a Rust binary wrapping GHC, Cabal, GHCup, and HLS behind one interface) and BHC (an in-development Haskell 2026 compiler with multiple runtime profiles).

Thesis

The thesis is that the verification camp has the right diagnosis but the wrong locus of intervention. In Schneider's public writing, declarative languages with strong type systems already play to what LLMs are good at: generating expressions that satisfy formal constraints, rather than simulating execution across many mutable steps. Type-checked Haskell looks like a proof; the compiler is the proof checker; once the types align, large classes of error are eliminated by construction. The reason this is not the dominant agent-coding stack today, Schneider argues, is friction outside the language — three overlapping build tools, slow cold builds, a runtime that assumes one performance profile fits every use case.

The language was right. The surrounding infrastructure was not.

The distinctive move is the refusal to design a new language at all. Where AILANG, Vera, and Aver each ship a fresh syntax with effect typing built in, BHC and hx extend Haskell. The engineering lives under the arcanist-sh GitHub organisation: hx, a Rust binary that wraps GHC, Cabal, GHCup, and HLS behind one interface; and BHC, an in-development clean-slate compiler targeting the Haskell 2026 specification with profile-specific runtimes selected at compile time. The bet is that the typed substrate is already correct and the missing layer is operational, not linguistic.

Distinctive moves

Maturity

Early. hx is MIT-licensed Rust, at v0.6.0 (Feb 2026), with 12 tagged releases, 129 commits, and 23 stars; it currently orchestrates GHC/Cabal/GHCup/HLS rather than replacing them. BHC is BSD-3-Clause, at v0.2.1 (Jan 2026), with 389 commits, 3 releases, 11 stars, and a single contributor. The roadmap in the BHC README marks the parser, type checker, Core IR, and one codegen path as substantially complete and WASM/GPU lowerings as in progress; no conformance suite or benchmark numbers ship in the repository today. The bet is on a multi-year arc, and the public surface reflects that — essays and infrastructure now, language-level claims later.

Agent tooling

None shipped at present. The position Schneider defends is that the right intervention is upstream of agent-specific files: a faster, more coherent build, a compiler whose error messages and runtime profile match the deployment target, and a type system the agent can already use as a proof obligation. Whether that bet pays off depends on whether the medium-term arc Schneider describes — declarative-plus-typed beats procedural-plus-checked once the tooling friction is gone — actually materialises before agent-native languages with built-in MCP surfaces lock in a different shape.

Design DNA


Tags: language   ai   verification   native   llvm  

Last modified 15 June 2026