Camlid.ExpertSourceval builtin_mltypes :
unbox_attribute:Type.unbox_attribute ->
unbox_version:(int * int) ->
?u_type:string ->
c_type:string ->
c2ml:string ->
ml2c:string ->
?u2c:string ->
?c2u:string ->
?ml2u:string ->
?u2ml:string ->
string ->
Type.mlcval mk_copy :
cty:Expr.expr ->
?vars:(dst:Expr.Var.t -> src:Expr.Var.t -> Expr.Var.t list) ->
?exprs:(dst:Expr.Var.t -> src:Expr.Var.t -> Expr.expr list) ->
string ->
copyval map_param_in_call :
?name:string ->
(Expr.expr -> Expr.expr -> Expr.expr * Expr.expr) ->
Type.param ->
Type.paramval abstract :
?initialize:initialize ->
?get:get ->
?set:set ->
icty:Expr.defined ->
ml:string ->
cty:Expr.defined ->
unit ->
Type.mlcval mk_get :
icty:Expr.expr ->
cty:Expr.expr ->
?vars:(dst:Expr.Var.t -> src:Expr.Var.t -> Expr.Var.t list) ->
?exprs:(dst:Expr.Var.t -> src:Expr.Var.t -> Expr.expr list) ->
string ->
getval mk_set :
icty:Expr.expr ->
cty:Expr.expr ->
?vars:(dst:Expr.Var.t -> src:Expr.Var.t -> Expr.Var.t list) ->
?exprs:(dst:Expr.Var.t -> src:Expr.Var.t -> Expr.expr list) ->
string ->
setval mk_finalize :
icty:Expr.expr ->
?vars:(Expr.Var.t -> Expr.Var.t list) ->
?exprs:(Expr.Var.t -> Expr.expr list) ->
string ->
finalizeval mk_finalize_ptr :
icty:Expr.expr ->
?vars:(Expr.Var.t -> Expr.Var.t list) ->
?exprs:(Expr.Var.t -> Expr.expr list) ->
string ->
finalizeval mk_hash :
icty:Expr.expr ->
?vars:(Expr.Var.t -> Expr.Var.t list) ->
?exprs:(Expr.Var.t -> Expr.expr list) ->
string ->
hashval mk_initialize :
cty:Expr.expr ->
?vars:(Expr.Var.t -> Expr.Var.t list) ->
?exprs:(Expr.Var.t -> Expr.expr list) ->
string ->
initializeval list_or_empty :
empty:(Format.formatter -> unit -> unit) ->
sep:unit Fmt.t ->
'a Fmt.t ->
Format.formatter ->
'a list ->
unitval code_c_fun :
params:Type.param list ->
call_params:Type.param list ->
result:Type.result option ->
name:string ->
Expr.expr ->
Expr.codeval code_c_fun_bytecode :
params:Type.param list ->
result:Type.result option ->
Expr.code ->
Expr.codeval print_ml_fun :
params:Type.param list ->
?call_params:Type.param list ->
?result:Type.result ->
mlname:string ->
Expr.expr ->
Expr.exprret_option_if expr ty the ocaml calue returned is Some v if the C expression expr is true, and v is returned by ty, otherwise it is None
get_expression ~mlname ty expr defined the function mlname that return the value of the C expression expr of type ty