Driver.PassesSourceCompiler passes
Each pass takes only its cli options, then calls upon its dependent passes (forwarding their options as needed)
val desugared :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
stdlib:Catala_utils.Global.raw_file option ->
Desugared.Ast.program * Desugared.Name_resolution.contextval scopelang :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
stdlib:Catala_utils.Global.raw_file option ->
Shared_ast.untyped Scopelang.Ast.programval dcalc :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
stdlib:Catala_utils.Global.raw_file option ->
optimize:bool ->
check_invariants:bool ->
autotest:bool ->
typed:'m Shared_ast.mark ->
'm Dcalc.Ast.program * Shared_ast.TypeIdent.t listval lcalc :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
stdlib:Catala_utils.Global.raw_file option ->
optimize:bool ->
check_invariants:bool ->
autotest:bool ->
typed:'m Shared_ast.mark ->
closure_conversion:bool ->
keep_special_ops:bool ->
monomorphize_types:bool ->
expand_ops:bool ->
renaming:Shared_ast.Renaming.t option ->
Shared_ast.typed Lcalc.Ast.program
* Shared_ast.TypeIdent.t list
* Shared_ast.Renaming.context optionval scalc :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
stdlib:Catala_utils.Global.raw_file option ->
optimize:bool ->
check_invariants:bool ->
autotest:bool ->
closure_conversion:bool ->
keep_special_ops:bool ->
dead_value_assignment:bool ->
no_struct_literals:bool ->
keep_module_names:bool ->
monomorphize_types:bool ->
expand_ops:bool ->
renaming:Shared_ast.Renaming.t option ->
Scalc.Ast.program * Shared_ast.TypeIdent.t list * Shared_ast.Renaming.context