Why AI Coding Agents Pushed Scarf Off Haskell After 7 Years in Production
Original source
After 7 years in production, Scarf has reluctantly moved away from Haskell
Hacker News →Avi Press, a longtime Haskell advocate and Haskell Foundation board member, explains why his company Scarf is migrating its backend away from the language it has run in production since launch. Haskell largely delivered on its promises — reliable code, a type system that caught real bugs, and straightforward high-performance services powering Scarf’s API and its high-traffic download gateway. The persistent costs were slow compilation and ecosystem friction, which the team absorbed for years through heavy investment in Nix, caching, CI, and build tooling.
LLM-assisted development is what tipped the balance. Press argues that AI introduces a third place to catch errors — at code-generation time — which lowers the relative payoff of compile-time type safety while making compile latency far more costly. When an agent can draft a change in minutes but a cold Haskell build takes far longer, the compiler becomes the dominant cost of a work thread. That penalty multiplies in the workflow he now prefers: spinning up many disposable worktrees so multiple agents explore branches in parallel, where every fresh environment pays a build-and-cache tax Haskell’s toolchain couldn’t make cheap enough.
Scarf’s answer was an incremental cutover rather than a rewrite: a Python API server runs alongside the Haskell one, new routes land in Python, and functionality migrates over as code is touched. LLMs made the porting of auth, database access, and shared models cheap enough to be routine. Press reports faster hotfixes, stronger test coverage, and a more energized team, with the lost type safety so far causing no concrete problems. His broader warning is blunt: AI is permanent, ecosystems that adopt it well will outpace those that don’t, and Haskell risks being left behind.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.