Shared_ast.Optimizations
Optimization passes for default calculus and lambda calculus programs and expressions
val optimize_expr :
Shared_ast__Definitions.decl_ctx ->
( ( < monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
< monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
'm )
Shared_ast__Definitions.base_gexpr,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed ->
( ( < monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
< monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
'm )
Shared_ast__Definitions.base_gexpr
Bindlib.box,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed
val optimize_program :
( ( < monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
< monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
'm )
Shared_ast__Definitions.base_gexpr,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed
Shared_ast__Definitions.program ->
( ( < monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
< monomorphic : Shared_ast__Definitions.yes
; polymorphic : Shared_ast__Definitions.yes
; overloaded : Shared_ast__Definitions.no
; resolved : Shared_ast__Definitions.yes
; syntacticNames : Shared_ast__Definitions.no
; resolvedNames : Shared_ast__Definitions.yes
; scopeVarStates : Shared_ast__Definitions.no
; scopeVarSimpl : Shared_ast__Definitions.no
; explicitScopes : Shared_ast__Definitions.no
; assertions : Shared_ast__Definitions.yes
; defaultTerms : 'a
; exceptions : 'b >,
'm )
Shared_ast__Definitions.base_gexpr,
'm Shared_ast__Definitions.mark )
Catala_utils.Mark.ed
Shared_ast__Definitions.program