Sarek_native_gen_exprval gen_memory_access :
loc:Ppxlib.location ->
ctx:Sarek_native_gen_base.gen_context ->
gen_expr:
(loc:Ppxlib.location -> Sarek_typed_ast.texpr -> Ppxlib_ast.Ast.expression) ->
Sarek_typed_ast.texpr ->
Ppxlib.expressionGenerate memory access operations (vectors, arrays, record fields)
val gen_let_binding :
loc:Ppxlib__.Location.t ->
ctx:Sarek_native_gen_base.gen_context ->
gen_expr:
(loc:Ppxlib__.Location.t ->
Sarek_typed_ast.texpr ->
Ppxlib_ast.Ast.expression) ->
gen_expr_impl:
(loc:Ppxlib__.Location.t ->
ctx:Sarek_native_gen_base.gen_context ->
Sarek_typed_ast.texpr ->
Ppxlib_ast.Ast.expression) ->
Sarek_typed_ast.texpr ->
Ppxlib.expressionGenerate let bindings (let, let mut, assignment)
val gen_control_flow :
loc:Ppxlib.location ->
gen_expr:
(loc:Ppxlib.location -> Sarek_typed_ast.texpr -> Ppxlib_ast.Ast.expression) ->
Sarek_typed_ast.texpr ->
Ppxlib.expressionGenerate control flow (if, for, while)
val gen_data_structure :
loc:Ppxlib.location ->
ctx:Sarek_native_gen_base.gen_context ->
gen_expr:
(loc:Ppxlib.location ->
Sarek_typed_ast.texpr ->
Ppxlib__.Import.expression) ->
Sarek_typed_ast.texpr ->
Ppxlib.expressionGenerate data structures (records, variants, tuples, arrays)
val gen_special_expr :
loc:Ppxlib__.Location.t ->
gen_expr:
(loc:Ppxlib__.Location.t -> Sarek_typed_ast.texpr -> Ppxlib.expression) ->
Sarek_typed_ast.texpr ->
Ppxlib.expressionGenerate special expressions (return, global ref, native, pragma, open)
val gen_parallel_construct :
?current_module:Stdlib.String.t ->
?inline_types:Sarek_native_gen_base.StringSet.t ->
loc:Ppxlib.location ->
gen_expr:
(loc:Ppxlib.location -> Sarek_typed_ast.texpr -> Ppxlib_ast.Ast.expression) ->
Sarek_typed_ast.texpr ->
Ppxlib.expressionGenerate BSP parallel constructs (let%shared, let%superstep, let rec)