by the second future, I mean an instance of
http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Future.html ,
which just has to conform to the interface, and doesn't actually have to
execute on a different thread.  Clojure's 'future' function returns an
instance of one of these that uses the unbounded agent thread-pool, but you
would be free to return one using reify or something.

https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L6320


On Thu, May 30, 2013 at 5:14 AM, Gary Trakhman <gary.trakh...@gmail.com>wrote:

> Maybe an easy solution: wrap the first future in another future that
> blocking-derefs, then performs your extra computation?  Do an extra
> 'realized?' check for the optimization you mention.  That would still
> consume threads in the case that it's not realized, but I think it gets you
> what you want.
>
>
> On Thu, May 30, 2013 at 5:09 AM, Mark Engelberg 
> <mark.engelb...@gmail.com>wrote:
>
>> According to this article, Clojure does not yet have this facility:
>> http://java.dzone.com/articles/promises-and-futures-clojure
>>
>> This is something that is being worked on and discussed, though:
>> http://dev.clojure.org/display/design/Promises
>> https://groups.google.com/forum/#!topic/clojure-dev/7BKQi9nWwAw/discussion
>> http://dev.clojure.org/display/design/Async+blocks
>>
>> I've been hearing a lot about Tellman's lamina library as a rich Clojure
>> toolset for working with asynchronicity.  I haven't had a need for it
>> myself, but you might want to check it out and see if it has relevance to
>> what you want to do.
>>
>>  --
>> --
>> 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/groups/opt_out.
>>
>>
>>
>
>

-- 
-- 
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/groups/opt_out.


Reply via email to