B00_std.Fut
Future values.
A future is an undetermined value that becomes determined at an an arbitrary point in the future. The future acts as a placeholder for the value while it is undetermined.
val create : unit -> 'a t * ('a -> unit)
create ()
is (f, set)
with f
the future value and set
the function to set
it. The latter can be called only once, Invalid_argument
is raised otherwise.
val await : 'a t -> ('a -> unit) -> unit
await f k
waits for f
to be determined and continues with k v
with v
the value of the future. If the future never determines k
is not invoked. k
must not raise.
val value : 'a t -> 'a option
value f
is f
's value, if any.
val sync : 'a t -> 'a
sync f
waits for f
to determine. Warning. This is relaxed busy waiting.
val return : 'a -> 'a t
return v
is a future that determines v
.
of_list fs
determines with the values of all fs
, in the same order.
module Syntax : sig ... end
Future syntax.