Ast.Expressionval pp_rec_flag : Stdlib.Format.formatter -> rec_flag -> unitval gen_rec_flag : rec_flag QCheck.Gen.tval arb_rec_flag : rec_flag QCheck.arbitraryval equal_value_binding :
('expr -> 'expr -> bool) ->
'expr value_binding ->
'expr value_binding ->
boolval pp_value_binding :
(Stdlib.Format.formatter -> 'expr -> unit) ->
Stdlib.Format.formatter ->
'expr value_binding ->
unitval show_value_binding :
(Stdlib.Format.formatter -> 'expr -> unit) ->
'expr value_binding ->
identval gen_value_binding :
(int -> 'a QCheck.Gen.t) ->
int ->
'a value_binding QCheck.Gen.tval pp_case :
(Stdlib.Format.formatter -> 'expr -> unit) ->
Stdlib.Format.formatter ->
'expr case ->
unitval gen_case : (int -> 'a QCheck.Gen.t) -> int -> 'a case QCheck.Gen.ttype t = | Exp_ident of identIdentifiers such as x and M.x.
| Exp_constant of Constant.tExpressions with constants such as 1, 'a', "true".
| Exp_tuple of t List2.tA tuple expression, such as (E1, E2, ..., En).
| Exp_function of t case List1.tA function with pattern matching, such as function P1 -> E1 | ... | Pn -> En.
| Exp_fun of Pattern.t List1.t * tA function expression, such as fun P1 ... Pn -> E.
| Exp_apply of t * tFunction application, such as E0 E1.
| Exp_match of t * t case List1.tA match expression, such as match E0 with P1 -> E1 | ... | Pn -> En.
| Exp_constraint of t * TypeExpr.tA type constraint, such as (E : T).
| Exp_if of t * t * t optionAn if-then-else expression, such as if E1 then E2 else E3.
| Exp_let of rec_flag * t value_binding List1.t * tA let-binding, such as let P1 = E1 and ... and Pn = En in E.
| Exp_construct of ident * t optionA constructor expression, such as C or C E.
val pp : Stdlib.Format.formatter -> t -> unitval gen_sized : int -> t QCheck.Gen.tval gen : t QCheck.Gen.tval arb_sized : int -> t QCheck.arbitraryval arb : t QCheck.arbitrary