package jenga

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a cached_exec = ('a * Db.Proxy_map.t) Builder.t
type 'a cached_reflect = ('a * Path.Set.t) Builder.t

Dep_type.t is the GADT implementation behind Dep.t. Values of this type are interpreted by jenga's build algorithm.

type 'a t =
  1. | Return : 'a -> 'a t
  2. | Map : 'a t * ('a -> 'b) -> 'b t
  3. | Bind : 'a t * ('a -> 'b t) -> 'b t
  4. | All : 'a Core.sexp_opaque t list -> 'a list t
  5. | Cutoff : ('a -> 'a -> bool) * 'a t -> 'a t
  6. | Deferred : (unit -> 'a Async.Deferred.t) -> 'a t
  7. | Action_stdout : Action.t t -> string t
  8. | Alias : Alias.t -> unit t
  9. | Path : Path.t -> unit t
  10. | Group_dependencies : 'a t -> 'a t
  11. | Source_if_it_exists : Path.t -> unit t
  12. | Contents : Path.t -> string t
  13. | Reflect_path : Path.t -> Reflected.Trip.t option t
  14. | Reflect_alias : Alias.t -> Path.Set.t t
  15. | Reflect_putenv : (string * string option) list t
  16. | Buildable_targets : Path.t -> Path.Set.t t
  17. | Source_files : Path.t -> Path.Set.t t
  18. | Glob_listing_OLD : Fs.Glob.t -> Path.Set.t t
  19. | Glob_listing : Fs.Glob.t -> Path.Set.t t
  20. | Glob_change_OLD : Fs.Glob.t -> unit t
  21. | Glob_change : Fs.Glob.t -> unit t
  22. | Var : 'a Var.t -> 'a t
  23. | Memoize : {
    1. name : string;
    2. t : 'a t;
    3. mutable cached_exec : 'a cached_exec option Core.sexp_opaque;
    4. mutable cached_reflect : 'a cached_reflect option Core.sexp_opaque;
    } -> 'a t
val sexp_of_t : 'a. ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t