Genredexpr
Reduction expressions
The parsing produces initially a list of red_atom
This list of atoms is immediately converted to a glob_red_flag
Generic kinds of reductions
type ('a, 'b, 'c, 'flags) red_expr_gen0 =
| Red of bool |
| Hnf |
| Simpl of 'flags * ( 'b, 'c ) Util.union Locus.with_occurrences option |
| Cbv of 'flags |
| Cbn of 'flags |
| Lazy of 'flags |
| Unfold of 'b Locus.with_occurrences list |
| Fold of 'a list |
| Pattern of 'a Locus.with_occurrences list |
| ExtraRedExpr of string |
| CbvVm of ( 'b, 'c ) Util.union Locus.with_occurrences option |
| CbvNative of ( 'b, 'c ) Util.union Locus.with_occurrences option |
type ('a, 'b, 'c) red_expr_gen = ( 'a, 'b, 'c, 'b glob_red_flag ) red_expr_gen0
type ('a, 'b, 'c) may_eval =
| ConstrTerm of 'a |
| ConstrEval of ( 'a, 'b, 'c ) red_expr_gen * 'a |
| ConstrContext of Names.lident * 'a |
| ConstrTypeOf of 'a |
type r_trm = Constrexpr.constr_expr
type r_pat = Constrexpr.constr_pattern_expr
type r_cst = Libnames.qualid Constrexpr.or_by_notation
type raw_red_expr = ( r_trm, r_cst, r_pat ) red_expr_gen
type 'a and_short_name = 'a * Names.lident option