(** Filter + map. *)
type whenexpr =
+ | Expr_unit (** Unit constant. *)
| Expr_bool of bool (** A boolean constant. *)
| Expr_str of string (** A string constant. *)
| Expr_int of Big_int.big_int (** An integer constant. *)
| Expr_increases of string (** increases var *)
| Expr_decreases of string (** decreases var *)
| Expr_prev of string (** prev var *)
+ | Expr_reloaded (** reloaded () *)
(** Internal type used to represent 'when' expressions. *)
type periodexpr =
(** A shell script. *)
type variable =
+ | T_unit
| T_bool of bool
| T_string of string
| T_int of Big_int.big_int
val dependencies_of_job : job -> string list
(** Which variables does this job depend on? *)
-val job_evaluate : job -> variables -> bool * job
-(** Evaluate [job]'s condition in the context of the [variables], and
- return [true] iff it should be run now. Note that this returns a
- possibly-updated [job] structure.
+val job_evaluate : job -> variables -> bool -> bool * job
+(** [job_evaluate job variables onload] evaluates [job]'s condition in
+ the context of the [variables], and return [true] iff it should be
+ run now.
+
+ Note that this returns a possibly-updated [job] structure.
This is a no-op for 'every' jobs. *)