aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/flags.ml3
-rw-r--r--lib/flags.mli3
-rw-r--r--lib/util.ml5
-rw-r--r--lib/util.mli1
4 files changed, 12 insertions, 0 deletions
diff --git a/lib/flags.ml b/lib/flags.ml
index 470cf81f18..29e01bac39 100644
--- a/lib/flags.ml
+++ b/lib/flags.ml
@@ -66,6 +66,9 @@ let auto_intros = ref true
let make_auto_intros flag = auto_intros := flag
let is_auto_intros () = version_strictly_greater V8_2 && !auto_intros
+let program_mode = ref false
+let is_program_mode () = !program_mode
+
let hash_cons_proofs = ref true
let warn = ref true
diff --git a/lib/flags.mli b/lib/flags.mli
index da43c86782..94c8795d45 100644
--- a/lib/flags.mli
+++ b/lib/flags.mli
@@ -47,6 +47,9 @@ val if_verbose : ('a -> unit) -> 'a -> unit
val make_auto_intros : bool -> unit
val is_auto_intros : unit -> bool
+val program_mode : bool ref
+val is_program_mode : unit -> bool
+
val make_warn : bool -> unit
val if_warn : ('a -> unit) -> 'a -> unit
diff --git a/lib/util.ml b/lib/util.ml
index 8798842837..c4229fd322 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -1211,6 +1211,11 @@ let iterate_for a b f x =
let rec iterate i v = if i > b then v else iterate (succ i) (f i v) in
iterate a x
+let app_opt f x =
+ match f with
+ | Some f -> f x
+ | None -> x
+
(* Delayed computations *)
type 'a delayed = unit -> 'a
diff --git a/lib/util.mli b/lib/util.mli
index caf1723b3b..868a76711c 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -261,6 +261,7 @@ val const : 'a -> 'b -> 'a
val iterate : ('a -> 'a) -> int -> 'a -> 'a
val repeat : int -> ('a -> unit) -> 'a -> unit
val iterate_for : int -> int -> (int -> 'a -> 'a) -> 'a -> 'a
+val app_opt : ('a -> 'a) option -> 'a -> 'a
(** {6 Delayed computations. } *)