Hacker News new | ask | show | jobs
by amitprayal 1384 days ago
I think I would be better to compare CL with Clojure rather than Racket...since Clojure has found some usage outside academia
4 comments

I've written quite a lot of Clojure and some Racket, but never really settled down on CL aside from reading PCL and most of PAIP.

In other words, I never coded something sufficiently big to understand the pros of CL.

Hence, I'm curious. What stuff I'm missing out in terms of language features and libraries?

for me the following things stand out

use common lisp (sbcl) if you want c-level performance

use common lisp if you want to make optimizing compilers

use common lisp if you want smalltalk type repl driven interactive development

I'm not a compiler expert by any means, but I would've thought the more functional nature of racket to be a plus for writing compilers. Plus, there's the nanopass framework.
There is no shortage of Lisp compilers.

The new Racket compiler was derived from the Chez Scheme compiler.

I'm curious to know what was lost to the Lisp users in the change on Apple's Newton device going from the early Ralph implementation in Lisp to cplusplus.

On r/lisp there was a rant that included a reflection that things would be done in a third the time. There was an ask for $60M to apply Lisp to know a different world. Apple can easily afford a $180M experiment to see Ralph/Dylan implementation of iOS/macOS. If proved successful would the software platform leap how the hardware has done across multiple architectures? The ARM M series devices are a there and back again move given Apple Newton was on ARM and Apple invested which kept the idea alive.

Or how about all three + Java: https://clojure.org/reference/lisps
A document that puts these differences in context is Rich Hickey's "A History of Clojure"

https://download.clojure.org/papers/clojure-hopl-iv-final.pd...

The design decisions in this paper strongly resonate with me. It helped me to overcome my aversion to JVM-hosted languages, and settle down to learn Clojure.

I'm a research mathematician, at one extreme where code is steps up a mountain. I don't need to summit twice, so productivity is far more important than speed. Nevertheless, the fastest Clojure time trials use GraalVM:

https://www.graalvm.org/

Thanks.
OP questioned Rackets use in industry, not CL.

AFAIK, the only (more known) uses of Racket is as a scripting language for Naughty Dogs PS3-era games, and it was made to make Arc (which runs HN).

I got it the other way around, oops.
Not even exactly the scripting language, more so that they used PLT Scheme (now Racket) for writing tooling, including compiler into various scheme variants they used as internal scripting in games.
I think the parent comment is suggesting that a comparison of CL vs. Clojure is more useful than the current comparison of CL vs. Racket.
I got it the other way around, oops.