Lam
type ap_info = {
ap_loc : Melange_compiler_libs.Location.t;
ap_inlined : Melange_compiler_libs.Lambda.inline_attribute;
ap_status : apply_status;
}
type lambda_switch = {
sw_consts_full : bool;
sw_consts : (int * t) list;
sw_blocks_full : bool;
sw_blocks : (int * t) list;
sw_failaction : t option;
sw_names : Melange_compiler_libs.Lambda.switch_names option;
}
and lfunction = {
arity : int;
params : ident list;
body : t;
attr : Melange_compiler_libs.Lambda.function_attribute;
}
and prim_info = private {
primitive : Lam_primitive.t;
args : t list;
loc : Melange_compiler_libs.Location.t;
}
and t = private
| Lvar of ident
| Lmutvar of ident
| Lglobal_module of ident
| Lconst of Lam_constant.t
| Lapply of apply
| Lfunction of lfunction
| Llet of Lam_compat.let_kind * ident * t * t
| Lmutlet of ident * t * t
| Lletrec of (ident * t) list * t
| Lprim of prim_info
| Lswitch of t * lambda_switch
| Lstringswitch of t * (string * t) list * t option
| Lstaticraise of int * t list
| Lstaticcatch of t * int * ident list * t
| Ltrywith of t * ident * t
| Lifthenelse of t * t * t
| Lsequence of t * t
| Lwhile of t * t
| Lfor of ident * t * t * Asttypes.direction_flag * t
| Lassign of ident * t
| Lsend of Melange_compiler_libs.Lambda.meth_kind
* t
* t
* t list
* Melange_compiler_libs.Location.t
val handle_bs_non_obj_ffi :
External_arg_spec.params ->
External_ffi_types.return_wrapper ->
External_ffi_types.external_spec ->
t list ->
Melange_compiler_libs.Location.t ->
string ->
t
val const : Lam_constant.t -> t
val function_ :
attr:Melange_compiler_libs.Lambda.function_attribute ->
arity:int ->
params:ident list ->
body:t ->
t
val let_ : Lam_compat.let_kind -> ident -> t -> t -> t
val switch : t -> lambda_switch -> t
constant folding
val false_ : t
val unit : t
val not_ : Melange_compiler_libs.Location.t -> t -> t
constant folding
val send :
Melange_compiler_libs.Lambda.meth_kind ->
t ->
t ->
t list ->
Melange_compiler_libs.Location.t ->
t
val prim :
primitive:Lam_primitive.t ->
args:t list ->
Melange_compiler_libs.Location.t ->
t
constant folding