ExplainSourcetype flags = {with_conditions : bool;with_cleanup : bool;merge_level : int;format : [ `Dot | `Convert of string ];show : string option;output : Catala_utils.Global.raw_file option;base_src_url : string;}val error :
('a, 'b Shared_ast__.Definitions.mark) Catala_utils.Mark.ed ->
?header:Catala_utils.Message.Content.message ->
?internal:bool ->
?pos_msg:Catala_utils.Message.Content.message ->
?extra_pos:(string * Catala_utils.Pos.t) list ->
?fmt_pos:(Catala_utils.Message.Content.message * Catala_utils.Pos.t) list ->
?outcome:Catala_utils.Message.Content.message list ->
?suggestion:string list ->
('c, Stdlib.Format.formatter, unit, 'd) Stdlib.format4 ->
'ctype laziness_level = {eval_struct : bool;eval_op : bool;eval_match : bool;eval_default : bool;eval_vars : expr Shared_ast.Var.t -> bool;}val add_condition :
condition:(expr * Env.t) ->
('a, annot Shared_ast.custom Shared_ast.mark) Catala_utils.Mark.ed ->
('a, annot Shared_ast.custom Shared_ast.mark) Catala_utils.Mark.edval add_conditions :
conditions:(expr * Env.t) list ->
('a, annot Shared_ast.custom Shared_ast.mark) Catala_utils.Mark.ed ->
('a, annot Shared_ast.custom Shared_ast.mark) Catala_utils.Mark.edval neg_op :
< monomorphic : Shared_ast__Definitions.yes
; resolved : Shared_ast__Definitions.yes.. >
Shared_ast.Op.t ->
< polymorphic : Shared_ast__Definitions.yes
; resolved : Shared_ast__Definitions.yes.. >
Shared_ast.Op.t
optionval bool_negation :
Catala_utils.Pos.t ->
((< monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; resolved : Shared_ast__Definitions.yes.. > as 'a,
< monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; resolved : Shared_ast__Definitions.yes.. > as 'a,
'b)
Shared_ast__.Definitions.base_gexpr,
'b Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
('a, 'c, 'b) Shared_ast.base_gexpr * 'b Shared_ast__.Definitions.markval result_level :
((Shared_ast.dcalc, Shared_ast.dcalc, Env.annot Shared_ast.custom)
Shared_ast__.Definitions.base_gexpr,
Env.annot Shared_ast.custom Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast.Var.Set.t ->
laziness_levelval interpret_program :
(Shared_ast.dcalc Shared_ast.any Shared_ast.any Shared_ast.any Shared_ast.any
Shared_ast.any
Shared_ast.any
Shared_ast.any
Shared_ast.any
Shared_ast.any,
Env.annot Shared_ast.custom)
Shared_ast.gexpr
Shared_ast.program ->
Shared_ast.ScopeName.t ->
(Shared_ast.dcalc, Env.annot Shared_ast.custom) Shared_ast.gexpr * Env.tval print_value_with_env :
Shared_ast.decl_ctx ->
Stdlib.Format.formatter ->
Env.t ->
((Shared_ast.dcalc Shared_ast__.Definitions.any,
Shared_ast.dcalc Shared_ast__.Definitions.any,
Env.annot Shared_ast.custom)
Shared_ast__.Definitions.base_gexpr,
Env.annot Shared_ast.custom Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
unitval op_kind :
< polymorphic : Shared_ast__Definitions.yes
; resolved : Shared_ast__Definitions.yes.. >
Shared_ast.Op.t ->
[> `Fct | `Other | `Product | `Round | `Sum ]val to_graph :
'a ->
Env.t ->
((Shared_ast.dcalc, Shared_ast.dcalc, Env.annot Shared_ast.custom)
Shared_ast__.Definitions.base_gexpr,
Env.annot Shared_ast.custom Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
G.tval is_const :
((< .. >, < .. >, 'a) Shared_ast__.Definitions.base_gexpr,
'a Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
boolval program_to_graph :
flags ->
(Shared_ast.dcalc, 'm) Shared_ast.gexpr Shared_ast.program ->
Shared_ast.ScopeName.t ->
G.t * expr Shared_ast.Var.Set.t * Env.tval subst_by :
(('a, 'a, 'b) Shared_ast__.Definitions.base_gexpr,
'b Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast.Var.t ->
(('a, 'a, 'b) Shared_ast__.Definitions.base_gexpr,
'b Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
(('a, 'a, 'b) Shared_ast__.Definitions.base_gexpr,
'b Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
(('a, 'a, 'b) Shared_ast__.Definitions.base_gexpr,
'b Shared_ast__.Definitions.mark)
Catala_utils.Mark.edval graph_cleanup :
flags ->
G.t ->
((Shared_ast.dcalc, Shared_ast.dcalc, Env.annot Shared_ast.custom)
Shared_ast__.Definitions.base_gexpr,
Env.annot Shared_ast.custom Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast.Var.Set.t ->
G.tval expr_to_dot_label0 :
'a. Catala_utils.Global.backend_lang ->
Shared_ast.decl_ctx ->
Env.t ->
Stdlib.Format.formatter ->
('a, 't) Shared_ast.gexpr ->
unitval expr_to_dot_label :
Catala_utils.Global.backend_lang ->
Shared_ast.decl_ctx ->
Env.t ->
Stdlib.Format.formatter ->
((< assertions : Shared_ast.yes
; custom : Shared_ast.no
; defaultTerms : Shared_ast.yes
; exceptions : Shared_ast.no
; explicitScopes : Shared_ast.no
; monomorphic : Shared_ast.yes
; overloaded : Shared_ast.no
; polymorphic : Shared_ast.yes
; resolved : Shared_ast.yes
; scopeVarSimpl : Shared_ast.no
; scopeVarStates : Shared_ast.no
; syntacticNames : Shared_ast.no >,
< assertions : Shared_ast.yes
; custom : Shared_ast.no
; defaultTerms : Shared_ast.yes
; exceptions : Shared_ast.no
; explicitScopes : Shared_ast.no
; monomorphic : Shared_ast.yes
; overloaded : Shared_ast.no
; polymorphic : Shared_ast.yes
; resolved : Shared_ast.yes
; scopeVarSimpl : Shared_ast.no
; scopeVarStates : Shared_ast.no
; syntacticNames : Shared_ast.no >,
Env.annot Shared_ast.custom)
Shared_ast__.Definitions.base_gexpr,
Env.annot Shared_ast.custom Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed ->
unitval to_dot :
Catala_utils.Global.backend_lang ->
Stdlib.Format.formatter ->
Shared_ast.decl_ctx ->
Env.t ->
((Shared_ast.dcalc, Shared_ast.dcalc, Env.annot Shared_ast.custom)
Shared_ast__.Definitions.base_gexpr,
Env.annot Shared_ast.custom Shared_ast__.Definitions.mark)
Catala_utils.Mark.ed
Shared_ast.Var.Set.t ->
G.t ->
base_src_url:string ->
unitval run :
Catala_utils.Global.raw_file list ->
bool ->
string ->
flags ->
Catala_utils.Global.options ->
unit