logoalt Hacker News

Steel Bank Common Lisp

110 pointsby toshtoday at 6:24 PM29 commentsview on HN

Comments

philipkglasstoday at 8:09 PM

Older HN users may recall when busy discussions had comments split across several pages. This is because the Arc [1] language that HN runs on was originally hosted on top of Racket [2] and the implementation was too slow to handle giant discussions at HN scale. Around September 2024 Dang et al finished porting Arc to SBCL, and performance increased so much that even the largest discussions no longer need splitting. The server is unresponsive/restarting a lot less frequently since these changes, too, despite continued growth in traffic and comments:

https://news.ycombinator.com/item?id=41679215

[1] https://paulgraham.com/arc.html

[2] https://racket-lang.org/

show 3 replies
iberatortoday at 9:18 PM

How come it is named like that? It's a product of some old school consortium?

I know that ford,gm etc also made some R&D into software

show 2 replies
pjmlptoday at 8:15 PM

While great option, LispWorks and Allegro Common Lisp should not be overlooked, too many focus on SBCL + Emacs and then complain about Lisp tooling.

show 2 replies
emptybitstoday at 7:26 PM

Can we get a "(1999)" date on this, please? Only half joking becuase I see Common Lisp and, sure, I upvote ... but honestly, what's the purpose of this HN submission without context?

SBCL is obviously fantastic but let's contrast with another popular implementation: Embeddable Common Lisp. https://ecl.common-lisp.dev/

Top marks for SBCL performance but ECL can be a better fit for embedding into mobile applications, running on lighter weight hardware, and in the browser.

show 1 reply
shadowgovttoday at 7:38 PM

My favorite bit of SBCL trivia is the name: this is descended from Carnegie Mellon's build.

Steel. Bank.

show 2 replies
umairnadeem123today at 8:46 PM

the HN migration from Racket to SBCL is probably the best real-world case study for SBCLs native code compiler quality. going from pages of comments needing pagination to rendering everything in one shot is not a minor optimization - thats an order of magnitude improvement in throughput for a real production workload.

what doesnt get mentioned enough is SBCLs type inference. if you add type declarations to hot paths, the compiler generates code that rivals hand-optimized C. the REPL-driven development workflow where you can redefine functions in a running system is still unmatched by anything in the modern tooling ecosystem.

jibaltoday at 7:32 PM

What about it?

show 2 replies