Get 20% off all career paths from fullstack to AI
AI, Data Science & Cloud Certificates from Google, IBM & Meta
Overview
Google, IBM & Meta Certificates – 40% Off
One plan covers every Professional Certificate on Coursera.
Unlock All Certificates
Explore how Clojure's core.async library is evolving to leverage Java virtual threads while maintaining backward compatibility and the same CSP concurrency semantics. Learn about the original implementation that transformed code into state machines via the `go` macro, enabling Go-style channel operations like `!`, and `alt!` as expressions rather than statements, which allowed asynchronous workflows without a central coordinator but required maintaining two complex versions of the Clojure analyzer. Discover the new virtual threads-based implementation that preserves the existing API while simplifying the underlying architecture and better differentiating semantic workload categories for compute, I/O, and mixed operations. Examine the design decisions behind supporting both implementations simultaneously and the strategies used to ensure seamless backward compatibility. Delve into the new core.async.flow framework that builds upon these improvements to provide process execution on top of pure functions operating on immutable message data, with topology management, lifecycle control, communication handling, monitoring capabilities, and comprehensive error handling support running on workload-appropriate threads.
Syllabus
Evolving Clojure with Virtual Threads #JVMLS
Taught by
Java