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)
.
- Registered by Vlad Levenfeld
- ~master released 8 years ago
- evenex/simple_future
- MIT
- Copyright © 2016 Vlad Levenfeld
- Authors:
- Dependencies:
- none
- Versions:
-
0.0.1 2016-Feb-06 ~master 2016-Mar-10 - 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