« All posts

Scarf Moves From Haskell to Python in the AI Coding Era

Scarf explains why faster LLM-driven code generation made Haskell's long compile times and ecosystem friction unsustainable, prompting a move to Python.

Scarf founder Avi Press describes how the company gradually moved its API backend away from Haskell to Python after years of running production systems on it. He notes that Haskell delivered on type safety and reliability, but the ongoing overhead of compile times and toolchain maintenance (Nix, caching, CI) became a real cost. The rise of capable LLM-driven coding changed this calculus: models now catch many errors at code-generation time rather than compile time, reducing the relative value of exhaustive static type checking. Meanwhile, long build times became a direct bottleneck for parallel AI coding agents, since every new worktree carries a cold-start tax that multiplies as more agents run concurrently.

Rather than a risky big-bang rewrite, Scarf routed new API work to a Python service running alongside the existing Haskell one, migrating functionality incrementally. Reimplementing core pieces like authentication, database access, and deployment tooling proved far cheaper than expected because LLMs handled much of the porting work. The reclaimed development time went into faster feature shipping and much stronger test coverage, with some bug fixes reportedly deployed before a customer support call even ended.

Press frames this not as an outside attack on Haskell but as an insider's honest warning: he remains active in Haskell governance and cares deeply about the language's future. He argues that in an AI-driven development era, compile speed and feedback-loop efficiency are becoming decisive factors, and that Haskell's ecosystem faces real risk if it doesn't adapt quickly to this shift.