diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/flags.ml | 3 | ||||
| -rw-r--r-- | lib/flags.mli | 3 | ||||
| -rw-r--r-- | lib/util.ml | 5 | ||||
| -rw-r--r-- | lib/util.mli | 1 |
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. } *) |
