jon.recoil.org

Module Ocaml_utils.Lazy_backtrack

type ('a, 'b) t
type log
val force : ('a -> 'b) -> ('a, 'b) Ocaml_utils.Lazy_backtrack.t -> 'b
val create : 'a -> ('a, 'b) Ocaml_utils.Lazy_backtrack.t
val get_arg : ('a, 'b) Ocaml_utils.Lazy_backtrack.t -> 'a option
val get_contents : ('a, 'b) Ocaml_utils.Lazy_backtrack.t -> ('a, 'b) Stdlib.Either.t
val create_forced : 'b -> ('a, 'b) Ocaml_utils.Lazy_backtrack.t
val create_failed : exn -> ('a, 'b) Ocaml_utils.Lazy_backtrack.t
val force_logged : Ocaml_utils.Lazy_backtrack.log -> ('a -> ('b, 'c) Stdlib.result) -> ('a, ('b, 'c) Stdlib.result) Ocaml_utils.Lazy_backtrack.t -> ('b, 'c) Stdlib.result
val backtrack : Ocaml_utils.Lazy_backtrack.log -> unit
val is_val : ('a, 'b) Ocaml_utils.Lazy_backtrack.t -> bool
type ('a, 'b) eval =
  1. | Done of 'b
  2. | Raise of exn
  3. | Thunk of 'a
val force_logged_408 : Ocaml_utils.Lazy_backtrack.log -> ('a -> 'b option) -> ('a, 'b option) Ocaml_utils.Lazy_backtrack.t -> 'b option