www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - "future" for async calling?

reply "Nick Sabalausky" <a a.a> writes:
I just came across this interesting article about a generic type "future", 
and was wondering is something like it was planned for Phobos (or Tango for 
that matter), or was already in (I haven't been paying a lot of attention to 
D concurrency), or just any thoughts about it in relation to D:

Beginning of obnoxiously multi-paged article:
http://www.drdobbs.com/go-parallel/article/showArticle.jhtml?articleID=222301165&pgno=1

Direct link to the page with the real meat:
http://www.drdobbs.com/go-parallel/article/showArticle.jhtml?articleID=222301165&pgno=3
Mar 13 2010
parent "Robert Jacques" <sandford jhu.edu> writes:
On Sat, 13 Mar 2010 17:31:03 -0500, Nick Sabalausky <a a.a> wrote:
 I just came across this interesting article about a generic type  
 "future",
 and was wondering is something like it was planned for Phobos (or Tango  
 for
 that matter), or was already in (I haven't been paying a lot of  
 attention to
 D concurrency), or just any thoughts about it in relation to D:

 Beginning of obnoxiously multi-paged article:
 http://www.drdobbs.com/go-parallel/article/showArticle.jhtml?articleID=222301165&pgno=1

 Direct link to the page with the real meat:
 http://www.drdobbs.com/go-parallel/article/showArticle.jhtml?articleID=222301165&pgno=3

Futures aren't planned for Phobos yet, because 1) they're hard to do safely and 2) message passing comes first. That said, there is already several libraries on dsource that have futures. I'd recommend dsimcha's parallelFuture library (http://cis.jhu.edu/~dsimcha/parallelFuture.html, http://dsource.org/projects/scrapple/browser/trunk/parallelFutur /parallelFuture.d). BTW the term 'future' has unfortunately been saddled with some poor implementations in the past and; this style of programming is often referred to as task programming.
Mar 13 2010