Export or edit this event...

Portland Java User Group

New Relic
111 SW 5th Avenue, Suite 2700
Portland, Oregon 97204, United States (map)
Public WiFi

Access Notes

Check in at the security desk to get access to the 27th floor. This usually isn't required for official events and meetups.



Mastering Time With Clojure and core.async

We all know that the most challenging programming problems we're likely to face involve threading. Lots and lots of threads, coordinating and communicating in complex and non-deterministic ways. Clojure by itself gets us part of the way there with immutable data-structures and threading primitives (such as atoms and agents), but coordinating many threads in the ways demanded by real applications increases complexity and reduces performance.

core.async is a new library for Clojure that rationalizes and simplifies coordination of large numbers of threads using communicating sequential processes; the end result is manageable code that looks and feels synchronous ... easy to read, easy to maintain. As is often the case in Clojure, a few simple primitives work together to open up a rich world of possibilities.