aboutsummaryrefslogtreecommitdiff
path: root/pretyping/reductionops.mli
diff options
context:
space:
mode:
authorMaxime Dénès2019-05-02 21:28:47 +0200
committerMaxime Dénès2019-05-10 12:03:15 +0200
commit857082b492760c17bfbc2b2022862c7cd758261e (patch)
treeb57c64610add266869514aa312bdc712cb516233 /pretyping/reductionops.mli
parentf913913a6a1b1e01d154d0c9af3b3807459b0b9f (diff)
Remove various circumvolutions from reduction behaviors
Incidentally, this fixes #10056
Diffstat (limited to 'pretyping/reductionops.mli')
-rw-r--r--pretyping/reductionops.mli11
1 files changed, 5 insertions, 6 deletions
diff --git a/pretyping/reductionops.mli b/pretyping/reductionops.mli
index b5d3ff7627..aa39921ea2 100644
--- a/pretyping/reductionops.mli
+++ b/pretyping/reductionops.mli
@@ -21,13 +21,12 @@ exception Elimconst
(** Machinery to customize the behavior of the reduction *)
module ReductionBehaviour : sig
- type flag = [ `ReductionDontExposeCase | `ReductionNeverUnfold ]
-(** [set is_local ref (recargs, nargs, flags)] *)
- val set :
- bool -> GlobRef.t -> (int list * int * flag list) -> unit
- val get :
- GlobRef.t -> (int list * int * flag list) option
+ type t = NeverUnfold | UnfoldWhen of when_flags | UnfoldWhenNoMatch of when_flags
+ and when_flags = { recargs : int list ; nargs : int option }
+
+ val set : local:bool -> GlobRef.t -> t -> unit
+ val get : GlobRef.t -> t option
val print : GlobRef.t -> Pp.t
end