Shared_ast.ProgramSourceval map_exprs :
f:('expr1 -> 'expr2 Shared_ast__.Definitions.boxed) ->
varf:('expr1 Var.t -> 'expr2 Var.t) ->
'expr1 Shared_ast__.Definitions.program ->
'expr2 Shared_ast__.Definitions.program Bindlib.boxval get_scope_body :
((([< Shared_ast__.Definitions.dcalc | Shared_ast__.Definitions.lcalc ], _)
Shared_ast__.Definitions.naked_gexpr,
_)
Catala_utils.Marked.t as 'e)
Shared_ast__.Definitions.program ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.scope_bodyval untype :
(([< Shared_ast__.Definitions.dcalc | Shared_ast__.Definitions.lcalc ] as 'a,
'm Shared_ast__.Definitions.mark)
Shared_ast__.Definitions.naked_gexpr,
'm Shared_ast__.Definitions.mark)
Catala_utils.Marked.t
Shared_ast__.Definitions.program ->
(('a, Shared_ast__.Definitions.untyped Shared_ast__.Definitions.mark)
Shared_ast__.Definitions.naked_gexpr,
Shared_ast__.Definitions.untyped Shared_ast__.Definitions.mark)
Catala_utils.Marked.t
Shared_ast__.Definitions.programval to_expr :
((([< Shared_ast__.Definitions.dcalc | Shared_ast__.Definitions.lcalc ], _)
Shared_ast__.Definitions.naked_gexpr,
_)
Catala_utils.Marked.t as 'e)
Shared_ast__.Definitions.program ->
Shared_ast__.Definitions.ScopeName.t ->
'e Shared_ast__.Definitions.boxedUsage: build_whole_program_expr program main_scope builds an expression corresponding to the main program and returning the main scope as a function.