diff options
| author | msozeau | 2012-03-14 09:52:25 +0000 |
|---|---|---|
| committer | msozeau | 2012-03-14 09:52:25 +0000 |
| commit | 1b3efc6dc25be1bfde5fb7d2d39cc5c35e44a4d8 (patch) | |
| tree | 3f22240472bd260847f4b5b26581cfdfbc3e071a /lib | |
| parent | 1674ab8bc0b76a1162928d0d9097c6a97486205d (diff) | |
Second step of integration of Program:
- Remove useless functorization of Pretyping
- Move Program coercion/cases code inside pretyping/, enabled according
to a flag.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15033 85f007b7-540e-0410-9357-904b9bb8a0f7
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. } *) |
