Module CamlinternalQuote.Exp_desc

type t
val ident : Identifier.Value.t -> t
val constant : Constant.t -> t
val let_rec_simple : Loc.t -> Name.t list -> (Var.Value.t list -> Exp.t list * Exp.t) lam -> t
val let_ : Loc.t -> Name.t list -> Name.t list -> Exp.t list -> (Var.Value.t list -> Var.Module.t list -> Pat.t * Exp.t) lam -> t
val function_ : Function.t -> t
val apply : Exp.t -> (Label.t * Exp.t) list -> t
val match_ : Exp.t -> Case.t list -> t
val try_ : Exp.t -> Case.t list -> t
val tuple : (Label.Nonoptional.t * Exp.t) list -> t
val construct : Constructor.t -> Exp.t option -> t
val variant : Variant.t -> Exp.t option -> t
val record : (Field.t * Exp.t) list -> Exp.t option -> t
val field : Exp.t -> Field.t -> t
val setfield : Exp.t -> Field.t -> Exp.t -> t
val array : Exp.t list -> t
val ifthenelse : Exp.t -> Exp.t -> Exp.t option -> t
val sequence : Exp.t -> Exp.t -> t
val while_ : Exp.t -> Exp.t -> t
val for_nonbinding : Loc.t -> Pat.t -> Exp.t -> Exp.t -> bool -> Exp.t -> t
val for_simple : Loc.t -> Name.t -> Exp.t -> Exp.t -> bool -> (Var.Value.t -> Exp.t) lam -> t
val send : Exp.t -> Method.t -> t
val assert_ : Exp.t -> t
val lazy_ : Exp.t -> t
val letmodule_nonbinding : Module.t -> Exp.t -> t
val letmodule : Loc.t -> Name.t -> Module.t -> (Var.Module.t -> Exp.t) lam -> t
val constraint_ : Exp.t -> Type_constraint.t -> t
val new_ : Identifier.Value.t -> t
val pack : Module.t -> t
val unreachable : t
val src_pos : t
val stack : Exp.t -> t
val extension_constructor : Name.t -> t
val let_exception : Name.t -> Exp.t -> t
val let_op : Identifier.Value.t list -> Exp.t list -> Case.t -> t
val exclave : Exp.t -> t
val list_comprehension : Comprehension.t -> t
val array_comprehension : Comprehension.t -> t
val unboxed_tuple : (Label.Nonoptional.t * Exp.t) list -> t
val unboxed_record_product : (Field.t * Exp.t) list -> Exp.t option -> t
val unboxed_field : Exp.t -> Field.t -> t
val quote : Exp.t -> t
val antiquote : Exp.t -> t
val splice : Code.t -> t
val eval : Type.t -> t