GenlambdaIntermediate language used by both the VM and native.
type case_annot = Constr.case_info * reloc_table * Declarations.recursivity_kindtype 'v lambda = | | Lrel of Names.Name.t * int | 
| | Lvar of Names.Id.t | 
| | Levar of Evar.t * 'v lambda array | 
| | Lprod of 'v lambda * 'v lambda | 
| | Llam of Names.Name.t Context.binder_annot array * 'v lambda | 
| | Llet of Names.Name.t Context.binder_annot * 'v lambda * 'v lambda | 
| | Lapp of 'v lambda * 'v lambda array | 
| | Lconst of Constr.pconstant | 
| | Lproj of Names.Projection.Repr.t * 'v lambda | 
| | Lprim of Constr.pconstant * CPrimitives.t * 'v lambda array | 
| | Lcase of case_annot * 'v lambda * 'v lambda * 'v lam_branches | 
| | Lfix of int array * Names.inductive array * int * 'v fix_decl | 
| | Lcofix of int * 'v fix_decl | 
| | Lint of int | 
| | Lparray of 'v lambda array * 'v lambda | 
| | Lmakeblock of Names.inductive * int * 'v lambda array | 
| | Luint of Uint63.t | 
| | Lfloat of Float64.t | 
| | Lval of 'v | 
| | Lsort of Sorts.t | 
| | Lind of Constr.pinductive | 
| | Lforce | 
and 'v lam_branches = {| constant_branches : 'v lambda array; | 
| nonconstant_branches : (Names.Name.t Context.binder_annot array * 'v lambda) array; | 
}and 'v fix_decl = Names.Name.t Context.binder_annot array * 'v lambda array * 'v lambda arrayval empty_evars : evarsval mkLlam : Names.Name.t Context.binder_annot array -> 'v lambda -> 'v lambdaval decompose_Llam : 'v lambda -> Names.Name.t Context.binder_annot array * 'v lambdaval decompose_Llam_Llet : 'v lambda -> (Names.Name.t Context.binder_annot * 'v lambda option) array * 'v lambdaval lam_exlift : Esubst.lift -> 'v lambda -> 'v lambdaval lam_subst_rel : 'v lambda -> Names.Name.t -> int -> 'v lambda Esubst.subs -> 'v lambdaval lam_exsubst : 'v lambda Esubst.subs -> 'v lambda -> 'v lambdaval lam_subst_args : 'v lambda Esubst.subs -> 'v lambda array -> 'v lambda arrayval simplify : ('v lambda -> bool) -> 'v lambda Esubst.subs -> 'v lambda -> 'v lambdaval remove_let : 'v lambda Esubst.subs -> 'v lambda -> 'v lambdaval get_alias : Environ.env -> Names.Constant.t -> Names.Constant.tval make_args : int -> int -> 'v lambda arrayval makeblock : (int -> 'v lambda array -> 'v option) -> Names.inductive -> int -> int -> int -> 'v lambda array -> 'v lambdaval lambda_of_prim : Environ.env -> Constr.pconstant -> CPrimitives.t -> 'v lambda array -> 'v lambdamodule type S = sig ... end