jenga

Industrial strength, full-featured build system
IN THIS PACKAGE
Module type Tenacious_lib . Heart_intf . S
val version : string
module Heart : sig ... end
module Glass : sig ... end
module Weak_glass : sig ... end
type t = Heart.t
val watch : Glass.t -> t
val combine : t list -> t
val combine2 : t -> t -> t
val unbreakable : t

is_unbreakable t is only approximate, since it can't be known in general whether a heart can break.

val is_unbreakable : t -> bool

is_unbreakable t is only approximate, since it can't be known in general whether a heart can break.

val is_broken : t -> bool

This watches the heart until it's broken and fills the deferred when it is. Note that it is a memory leak to call this on a heart that never breaks.

val when_broken : t -> unit Async.Deferred.t

This watches the heart until it's broken and fills the deferred when it is. Note that it is a memory leak to call this on a heart that never breaks.

tells you about what happens first: heart broken (None) or the given deferred determined with x (Some x)

val or_broken : t -> 'a Async.Deferred.t -> 'a option Async.Deferred.t

tells you about what happens first: heart broken (None) or the given deferred determined with x (Some x)