Module Future
module UUID : sig ... end
type 'a computation
type 'a value
=[
|
`Val of 'a
|
`Exn of Exninfo.iexn
]
type fix_exn
= Exninfo.iexn -> Exninfo.iexn
val create : fix_exn -> (unit -> 'a) -> 'a computation
val from_val : ?fix_exn:fix_exn -> 'a -> 'a computation
val fix_exn_of : 'a computation -> fix_exn
type 'a assignment
=[
|
`Val of 'a
|
`Exn of Exninfo.iexn
|
`Comp of 'a computation
]
val create_delegate : ?blocking:bool -> name:string -> fix_exn -> 'a computation * ('a assignment -> unit)
val replace : 'a computation -> 'a computation -> unit
val is_over : 'a computation -> bool
val is_val : 'a computation -> bool
val is_exn : 'a computation -> bool
val peek_val : 'a computation -> 'a option
val uuid : 'a computation -> UUID.t
val chain : 'a computation -> ('a -> 'b) -> 'b computation
val force : 'a computation -> 'a
val compute : 'a computation -> 'a value
val join : 'a computation -> 'a
val split2 : ('a * 'b) computation -> 'a computation * 'b computation
val map2 : ('a computation -> 'b -> 'c) -> 'a list computation -> 'b list -> 'c list
val print : ('a -> Pp.t) -> 'a computation -> Pp.t
Debug: print a computation given an inner printing function.