YouTube Excerpt: Clojure’s core.async library brought Go-style CSP concurrency to both the JVM (and JS!) by transforming code into state machines via the `go` macro, allowing process pausing at channel operations like ⟨!, ⟩!, and alt! (as an expression, not a statement, as in Go). This transformation enabled asynchronous workflows and "select" without a central coordinator, but came at the cost of maintaining two complex and evolving versions of the Clojure analyzer. With the arrival of Java virtual threads, a new implementation of core.async is emerging-—one that retains the same semantics and API but leverages virtual threads to implement process supsension. This talk will explore the design choices behind supporting both implementations, and how we preserved backward compatibility. Introducing virtual threads also provided an opportunity to better differentiate semantic workload categories (compute, I/O, mixed). The new core.async.flow framework leverages all of the flexibility above to provide process execution on top of pure functions of immutable message data. Flow runs these functions in process execution nodes, on workload-appropriate threads, and provides topology, lifecycle, communication, monitoring, and error handling support. Presented by Alex Miller (Clojure Core Team / NuBank) during the 2025 JVM Language Summit (CA, August 2025). • core.async Rationale ➤ https://clojure.github.io/core.async/rationale.html • core.async.flow ➤ https://clojure.github.io/core.async/flow.html • Are We There Yet? ➤ https://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey/ • The Language of the System ➤ https://youtu.be/ROor6_NGIWU?feature=shared • Clojure core.async ➤ https://youtu.be/yJxFPoxqzWE?feature=shared • Inside core.async Channels ➤ https://youtu.be/hMEX6lfBeRM?feature=shared • https://www.youtube.com/playlist?list=PLX8CzqL3ArzUOgZpIX6GsoRhPbnij-sco playlist • http://jvmlanguagesummit.com/ Tags: #JVM #Clojure
Clojure’s core.async library brought Go-style CSP concurrency to both the JVM (and JS!) by transforming code into state machines via the `go`...
Curious about Evolving Clojure With Virtual Threads #JVMLS's Color? Explore detailed estimates, salary breakdowns, and financial insights that reveal the true scope of their profile.
color style guide
Source ID: umeUXG56JA8
Category: color style guide
View Color Profile 🔓
Disclaimer: %niche_term% estimates are based on publicly available data, media reports, and financial analysis. Actual numbers may vary.
Sponsored
Sponsored
Sponsored