Live data from Hacker News

ClojureScript 1.12.42

clojurescript.org

1–10 of 45 posts

Re: ClojureScript 1.12.42

#2
> We are working on restoring that original stability. With this release, you’ll find that quite a few old ClojureScript libraries work again today as well as they did 14 years ago.

> ClojureScript is and never was only just for rich web applications. Even in the post React-world, a large portion of the web is (sensibly) still using jQuery. If you need robust DOM manipulation, internationalization, date/time handling, color value manipulation, mathematics, programmatic animation, browser history management, accessibility support, graphics, and much more, all without committing to a framework and without bloating your final JavaScript artifact - ClojureScript is a one stop shop.

Re: ClojureScript 1.12.42

#3
One of my favorite things about the JVM ecosystem is how stable it is. A 5-year-old library will almost certainly Just Work. And Clojure very much follows the same spirit. There's a lot of great, useful libraries that haven't been updated in years... not because they've been abandoned but because they're _done_ and just don't require active maintenance.

Immutability as a cultural value, not just a data structure.

Re: ClojureScript 1.12.42

#5

EDIT: HN title said Compiler, article says Library.

This is not about maintaining compatibility with a Java version. As you can read in the post, Java 21 will be the minimum required Java version even. It's about the Google Closure Library on which many ClojureScript programs depend.

Re: ClojureScript 1.12.42

#9
While the level of commitment to backwards compatibility is commendable, I had hoped this would trigger dropping GCL instead of forking it.

My surface level understanding is that GCL is a big reason why 3rd party libraries are a huge pain to use in Clojurescript.

Of course this would have went completely against the project’s goals, so it was never going to happen.

Re: ClojureScript 1.12.42

#10
post #9

While the level of commitment to backwards compatibility is commendable, I had hoped this would trigger dropping GCL instead of forking it. My surface level understanding is that GCL is a big reason why 3rd party libraries are a huge pain to use in Clojurescript. Of course this would have went completely against the project’s goals, so it was never going to happen.

I think you are conflating the Closure Library with the Closure Compiler. They are related but not identical. The Compiler, I think, is what makes it difficult to use externs; its “advanced optimizations” can and often does break libraries that weren’t written with the Compiler’s quirks in mind. But advanced optimizations is an option; if you don’t need aggressive minification, function body inlining, etc. you can opt out.

Shadow CLJS has made working with external libraries quite easy and IIRC it lets you set the compilation options for your libraries declaratively.

Post reply on HN