simple_future ~master

Simple asynchronous functions


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

simple_future

Provides a (very) simple async function combinator.

If f :: A -> B, then async!f :: A -> Future!B. Suppose f(a) = b and async!f(a) = c.

async!f will execute f in a separate thread when invoked.

While f is being computed, c.pending.

If f succeeds, c.completed and b == c.result.

If f throws, c.failed.

Attempting to read c.result before c.completed is an error.

async!f can be made blocking at any time with c.await.

For convenience, c.await returns c so that c.await.result == c.result.

Note that, for async!f, f must be public so that the async template can see it. To lift a non-publicly-visible function g :: A -> B, use the non-template async(g, a).

Authors:
  • Vlad Levenfeld
Dependencies:
none
Versions:
0.0.1 2016-Feb-06
~master 2016-Mar-10
Show all 2 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 62 downloads total

Score:
1.0
Short URL:
simple_future.dub.pm