After 7 years in production, Scarf has reluctantly moved away from Haskell
Scarf, after seven years, is moving its backend from Haskell to Python, citing the impact of AI-driven development on language trade-offs. The company argues that Haskell's slow compile times and ecosystem friction become critical bottlenecks when leveraging LLMs for rapid, parallel code generation. This provocative shift sparks intense debate on HN, challenging the perceived value of strong type systems versus development velocity in the AI era.
The Lowdown
Scarf, a company with a long-standing commitment to Haskell, has made the difficult decision to transition its new API development to Python. This move comes after seven years of successfully running Haskell in production, underscoring a significant shift in their development philosophy driven by the rise of AI.
- Haskell's Strengths and Weaknesses: The author, a Haskell Foundation board member, acknowledges Haskell's reliability, powerful type system, and performance benefits. However, persistent issues like slow compilation times and ecosystem friction became increasingly problematic.
- AI Changes the Game: The advent of large language models (LLMs) is highlighted as the catalyst for this change. While LLMs excel at quickly generating code, lengthy compilation processes (especially cold starts) transform these into significant bottlenecks, particularly when pursuing parallel "agentic" development workflows.
- Python for Agility: Scarf is now building new API work in Python. They found LLMs made reimplementing core functionality straightforward, and the faster feedback loop in Python allows for quicker feature delivery, better test coverage, and rapid hotfixes.
- Haskell's Crossroads: The author warns that the Haskell community risks stagnation by not actively adapting to AI. They advocate for prioritizing practical improvements like faster build times, better tooling, and agent-friendly documentation over continued focus on advanced type system research.
Ultimately, Scarf's decision reflects a calculated trade-off: sacrificing some type safety for the accelerated productivity offered by Python in an AI-powered development landscape. They urge the Haskell community to seriously address these concerns to remain relevant in the evolving tech ecosystem.
The Gossip
Pythonic Puzzlement
Many commenters expressed surprise and skepticism regarding Scarf's choice of Python for new development, particularly given its dynamically typed nature. Critics questioned the wisdom of abandoning Haskell's strong type safety, arguing that Python could lead to 'vibecoding' chaos and increased unreliability. While acknowledging Python's prevalence in LLM training data and ease of hiring, some felt it was a step backward in engineering rigor, suggesting other languages with better type systems and fast compile times would have been a more logical pivot.
Agentic Agitation
The central premise that AI redefines language trade-offs sparked intense debate. Some agreed with the author that fast iteration speed is paramount for LLM-driven development, making slow compilers a bottleneck. Others passionately argued that strong type systems are *more* valuable with LLMs, as they provide precise, quick feedback to agents, guiding them toward correct code. Several commenters proposed alternative languages like OCaml, Go, Rust, F#, or Lean as better solutions that offer both strong typing and superior compilation speeds.
Haskell's Hardships
Commenters largely acknowledged Haskell's longstanding issues with compilation times and ecosystem friction, noting these problems predate LLMs but are now amplified. Many shared personal anecdotes of slow GHC builds, dependency challenges, and cross-compilation woes. However, some current Haskell practitioners reported successful AI-assisted development using tools like GHCi for faster feedback, suggesting Scarf's specific workflow might be the pain point. The discussion also included calls for the Haskell community to prioritize practical tooling and build performance over advanced language features.
Doubting Digital Deputies
A notable sentiment expressed skepticism about the efficacy and long-term consequences of entirely AI-driven, 'vibecoding' development. Concerns were raised about potential decreases in software reliability, increases in technical debt, and the short-sightedness of prioritizing rapid feature shipping over maintainability. Commenters questioned whether LLMs truly revolutionize software development or merely mask fundamental engineering principles, drawing parallels to past development philosophies that neglected long-term code health.