Haskell is DONE
Quick Overview
Scarf has officially moved away from Haskell after seven years in production, pivoting to Python for all new API work due to significant compilation time and ecosystem friction. The company maintains that while Haskell's type safety remains valuable, the overhead of managing bespoke caching systems and development environments became an unsustainable bottleneck in their development loop, especially as they integrate more AI-driven coding agents.
Key Points: Scarf transitioned from a Haskell-based backend to Python for all new API development after seven years. Development speed and build times emerged as the primary drivers for the language shift. Cold-start build times for the project reached 15 minutes, which hindered development efficiency when using multiple coding agents in parallel. The team found that maintaining bespoke caching systems and CI environments created a major overhead that outweighed the benefits of Haskell's type system. Python allows for faster iteration cycles, enabling the team to ship bug fixes during live customer calls. The transition highlights a broader shift in industry priorities where rapid iteration speed is becoming more valuable than traditional compile-time type safety.
Context: Scarf is a company that has heavily utilized Haskell for its backend infrastructure, including high-performance services like Scarf Gateway. Founded by Avi Press, the company has been a long-time advocate for Haskell, with its leadership serving on the Haskell Foundation and Haskell.org committee. The recent decision to move to Python marks a significant shift in their engineering strategy, reflecting the changing landscape of software development driven by AI agents.
Detailed Analysis
The video provides a detailed post-mortem of Scarf's decision to abandon Haskell after seven years of production use. While the company initially built its core infrastructure on Haskell, leveraging libraries like Servant and PostgreSQL, the team eventually encountered significant scaling and maintenance challenges. The most critical issues involved compilation times and ecosystem friction, which required the company to invest excessive engineering resources into optimizing builds, caches, and development environments. The advent of AI coding agents further exposed these weaknesses; the project's long cold-start build times (up to 15 minutes) created an unacceptably slow feedback loop when multiple agents were used in parallel. The team concluded that the cost of type-checking and build management had become a bottleneck, leading them to adopt Python for all new API work. The shift allows for significantly faster iteration, enabling the team to push bug fixes during live customer interactions. The analysis underscores a fundamental shift in software development, where the speed of the development loop is increasingly prioritized over compile-time type safety.