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 ->
Desugared.Ast.program * Desugared.Name_resolution.contextval scopelang :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
Shared_ast.untyped Scopelang.Ast.programval dcalc :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
optimize:bool ->
check_invariants:bool ->
typed:'m Shared_ast.mark ->
'm Dcalc.Ast.program * Scopelang.Dependency.TVertex.t listval lcalc :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
optimize:bool ->
check_invariants:bool ->
typed:'m Shared_ast.mark ->
avoid_exceptions:bool ->
closure_conversion:bool ->
monomorphize_types:bool ->
Shared_ast.typed Lcalc.Ast.program * Scopelang.Dependency.TVertex.t listval scalc :
Catala_utils.Global.options ->
includes:Catala_utils.Global.raw_file list ->
optimize:bool ->
check_invariants:bool ->
avoid_exceptions:bool ->
closure_conversion:bool ->
keep_special_ops:bool ->
dead_value_assignment:bool ->
no_struct_literals:bool ->
monomorphize_types:bool ->
Scalc.Ast.program * Scopelang.Dependency.TVertex.t list