ClojureScript Gets Async/Await

(clojurescript.org)

Comments

koito17 19 hours ago
I noticed borkdude posted this thread *and* he is listed as a contributor for this release.

For the longest time, I recall the opposition to async/await support being twofold:

1. adding support would require deep changes across the CLJS compiler (theller, creator of shadow-cljs, once tried and concluded this)

2. macros from libraries like Promesa provided similar convenience

There were some other arguments brought up at the time (e.g. just use core.async, expression-oriented languages aren't a good fit with async/await, etc.), but they were usually specific to one person rather than something you'd see repeated in forums.

In the Clojurians Slack, borkdude once stated he wasn't convinced it'd be impractical to add support. It seems that he eventually took the time and made it happen. Extremely thankful for that.

midnight_eclair 8 May 2026
fun fact: clojurescript had support for asynchronous paradigm through core.async library (CSP style) long before async/await landed in javascript itself.

edit: i'm in no way trying to diminish the value of this release, just pointing out how cool it is that you can get new language features before they are available in the host language by just adding a library to your dependencies. clojure is awesome!

osener 8 May 2026
Surprised to see Clojure/ClojureScript come up on socials more often all of a sudden. I used it professionally for a few years around ~2012 and like many others moved off JVM and moved into typed [functional] languages.

Is the sudden buzz due to agentic coding? Does it rip through code faster with no type checking and fewer invalid syntax errors and reserved keywords to deal with? are we in for a sexp resurgence?

jhhh 8 hours ago
I haven't kept up with cljs in a long time but I remember it originally being pitched as just clojure on js--at least I think that's how Rich originally described it. My impression was it was just supposed to be, as much as possible, another runtime. This change seems to add in features that are exclusive to cljs and actually conflict with clojure itself as await is already a keyword in clojure.core. Have the two impls diverged over time, or was this feature specifically important enough to the users to overcome the differences?
arikrahman 19 hours ago
This is huge. I haven't been this excited about the Clojure ecosystem since Jank got announce (which is pretty recently to be fair)
timwis 8 May 2026
I wish an alternative to JS for the front end would catch on and be something more than obscure... I'd love to use something like clojurescript, but I struggle to imagine doing so for anything but a personal side project :/ Maybe this is easier to adopt if you're already a clojure shop for the backend?
boczez 8 May 2026
Massive, cheers dude and congrats on the release. I’d say it’s such a good time to get into Clojure/Script but, well … it has been for a while!
slifin 8 May 2026
This is important for JavaScript interop without having to include additional libraries very cool and was missing for a long time

Congratulations on the release :-)

tombert 17 hours ago
I'm not sure how I feel about this; wasn't part of the point of core.async to push all this stuff into channels? I'm not convinced that having a JS-style async keyword is an upgrade.
nbardy 8 May 2026
Seems like wrapping async await functions with CSP was a better way to handle this . Clojure already had a nicer pattern for this
chr15m 8 May 2026
Epic win for cljs, congratulations!
seanclayton 8 May 2026
I remember a decade ago when JavaScript got Async/Await. 10 years is quite a long time.
moomin 20 hours ago
I'm guessing there's no likelihood of a regular Clojure equivalent of this?
rockyj 8 May 2026
Nice! Now also get rid of the elephant in the room - "Google Closure Compiler" and then we can really celebrate.
zerr 8 May 2026
For the moment thought the article was about CoffeeScript... But it already supports async/await :)