Fantastic release. I've been waiting for poll! and offer! for a while. What is the recommended way to check whether a channel is closed? Previously if the channel returned nil, then we know the channel is closed, however with poll! we can't tell between the channel being closed or just empty.
Thanks again, Lucas On 29 October 2015 at 05:06, Alex Miller <a...@puredanger.com> wrote: > I am happy to announce a long-overdue core.async release. > > Dependency info: [org.clojure/core.async "0.2.371"] > > There are a few new features in this release: > > 1) promise-chan is a function that returns a new kind of channel (with a > custom buffer) with promise semantics. Specifically, channels make a > one-time transition to having a deliverable value. promise-chan takes an > optional transducer, and an optional exception-handler (like chan). A > promise channel can take exactly one value that consumers will receive. Once > full, puts complete but val is dropped (no transfer). > Consumers will block until either a value is placed in the channel or the > channel is closed (and nil will be delivered). > > 2) offer! and poll! are two new non-blocking functions available on > channels. > > offer! puts a val into a channel if it can do so immediately and will never > block. Returns true if offer succeeds. > poll! takes a val from a channel if it can do so immediately and will never > block. Return a value if successful, nil otherwise. > > All changes: > > ASYNC-103 - NEW promise-chan > ASYNC-104 - NEW non-blocking offer!, poll! > ASYNC-124 - dispatch multiple pending takers resulting from expanding > transducer > ASYNC-101 - async/reduce now respects reduced > ASYNC-112 - replace "transformer" with "transducer" in deprecation messages > ASYNC-6 - alts! docs updated to explicitly state ports is a vector > Support (try (catch :default)) in CLJS exception handling > Use cljs.test > Updated tools.analyzer.jvm version (and other upstream deps) - fixes various > analyzer errors > > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.