Module Bonsai_private_base.May_contain

Types to perform gather-time analysis on data-dependencies of computations. Data-dependencies can be resolved or unresolved:

The logic for resolving dependencies (i.e. going from unresolved -> resolved) lives in environment.ml, since we need to track information about the recursive dependencies, which gets stored in Environment.Recursive.t.

module Dependencies : sig ... end

A set of Fix_id.t representing the recursive dependencies of a computation.

type resolved = private
  1. | Resolved
val sexp_of_resolved : resolved -> Sexplib0.Sexp.t
type unresolved = private
  1. | Unresolved
val sexp_of_unresolved : unresolved -> Sexplib0.Sexp.t
module Single : sig ... end
type 'resolution t = private {
  1. path : 'resolution Single.t;
  2. lifecycle : 'resolution Single.t;
  3. input : 'resolution Single.t;
}

t tracks non-recursive information about what a computation contains. This information can be built from the bottom up at gather time.

val sexp_of_t : ('resolution -> Sexplib0.Sexp.t) -> 'resolution t -> Sexplib0.Sexp.t
module Resolved : sig ... end
module Unresolved : sig ... end