diff --git a/src/env.ml b/src/env.ml index 69a9ab75..4546584f 100644 --- a/src/env.ml +++ b/src/env.ml @@ -77,3 +77,6 @@ let diff x y = | Some _ -> None | None -> vx) |> make + +let update t ~var ~f = + make (Map.update t.vars var ~f) diff --git a/src/env.mli b/src/env.mli index 37cd5fe1..904a8d15 100644 --- a/src/env.mli +++ b/src/env.mli @@ -23,4 +23,7 @@ val add : t -> var:Var.t -> value:string -> t val diff : t -> t -> t +val update : t -> var:string -> f:(string option -> string option) -> t + val sexp_of_t : t -> Sexp.t +