Hacker News now runs on top of Common Lisp - Lisp journey
May 26, 2025 - lisp-journey.gitlab.io
Hacker News, originally implemented in the Arc Lisp dialect on top of Racket, has transitioned to running on SBCL for performance reasons. This change coincides with the release of Clarc, an Arc-to-Common Lisp implementation that allows Hacker News to run more efficiently and utilize multiple cores. Clarc has been in development for years, primarily due to limited time availability for its completion. The transition also involved reworking the Arc implementation into stages, with arc0 as the foundational layer, and subsequent layers (arc1 and arc2) building upon it, facilitating easier reimplementation across different systems like Racket, JS, or CL.
Despite the advancements, Clarc's code has not been released due to the presence of anti-abuse measures within the Hacker News codebase that could be compromised if made public. Separating these sensitive components would require significant effort, and a release might only occur if alternative Arc implementations are eventually shared. The transition to Clarc has been successfully executed without major disruptions, marking a significant technical milestone for Hacker News.
Key takeaways:
Hacker News transitioned from running on Racket to SBCL for performance reasons.
The removal of paging for long threads on Hacker News is due to the release of Clarc, which allows for faster performance and multi-core support.
Clarc is an Arc-to-Common Lisp implementation, part of a staged reimplementation of Arc, with arc0 as the foundational layer.
The HN codebase, including Clarc, is not publicly released due to embedded anti-abuse measures.