I figured before I added a ticket, I'd post here. I was using the functions for Futures in Clojure and found for all of the future functions (like future, future-done?, future-cancel etc) it was nicely abstracted and there was no need to know exactly what kind of object was passed into or returned from the functions. When it become a problem, is when I wanted to get the value returned by the future with a timeout. To do this, I needed to know that the future function returned an implementation of java.util.concurrent.Future, and that interface had a get method that accepts a timeout value. I was then able to make a Java call to get the future value with a timeout.
Improvements/Questions: 1 - I think a good improvement would be updating the docs for the future related functions to indicate what kind of objects are passed in and returned. Users would then not have to go through the source to see what's being returned. This could also be useful to know if users were getting java.util.concurrent.Future instances from other places and wanted to use them with the Clojure API. 2 - Is there a reason that get with a timeout from java.util.concurrent.Future is not included in the Clojure future functions? It seems to be the only one missing and having that function would make the details around what kind of object is returned/passed in by these functions less important. Maybe future-await or something? What sort of time parameter would this new function would accept? The java.util.concurrent.Future.get method uses an int and the java.util.concurrent.TimeUnit enum. Should I log a ticket on these items? Thanks, Ryan -- 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