I'll take a look, thanks.

On Thursday, October 29, 2015 at 10:52:08 AM UTC-5, Marian Schubert wrote:
>
> Awesome!
>
> I did try it on our project and it failed at one location with:
> CompilerException java.lang.UnsupportedOperationException: Can only recur 
> from tail position
>
> Minimal example which still fails (alts! + case + recur combination) is:
>
> (defn this-fails-to-compile [x]
>   (go
>     (loop []
>       (let [_ (async/alts! [,,,])]
>         (case :whatever
>           :something
>           (recur))))))
>
> I guess this should work(?) Should I report it somewhere?
>
> Thanks,
> Marian
>
> On Wednesday, October 28, 2015 at 10:06:41 PM UTC+1, Alex Miller 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 <http://dev.clojure.org/jira/browse/ASYNC-103> - NEW 
>>    promise-chan
>>    - ASYNC-104 <http://dev.clojure.org/jira/browse/ASYNC-104> - NEW 
>>    non-blocking offer!, poll!
>>    - ASYNC-124 <http://dev.clojure.org/jira/browse/ASYNC-124> - dispatch 
>>    multiple pending takers resulting from expanding transducer
>>    - ASYNC-101 <http://dev.clojure.org/jira/browse/ASYNC-101> - 
>>    async/reduce now respects reduced
>>    - ASYNC-112 <http://dev.clojure.org/jira/browse/ASYNC-112> - replace 
>>    "transformer" with "transducer" in deprecation messages
>>    - ASYNC-6 <http://dev.clojure.org/jira/browse/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.

Reply via email to