Shared_ast.OpSourceClassification of operators on how they should be typed
type (_, _) kind = | Monomorphic : ('a Shared_ast__.Definitions.any, monomorphic) kind| Polymorphic : ('a Shared_ast__.Definitions.any, polymorphic) kind| Overloaded : ([< Shared_ast__.Definitions.desugared ], overloaded) kind| Resolved : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
kindClassification of operators. This could be inlined in the definition of t but is more concise this way
type (_, _) t = | Not : ('a Shared_ast__.Definitions.any, monomorphic) t| GetDay : ('a Shared_ast__.Definitions.any, monomorphic) t| GetMonth : ('a Shared_ast__.Definitions.any, monomorphic) t| GetYear : ('a Shared_ast__.Definitions.any, monomorphic) t| FirstDayOfMonth : ('a Shared_ast__.Definitions.any, monomorphic) t| LastDayOfMonth : ('a Shared_ast__.Definitions.any, monomorphic) t| Length : ('a Shared_ast__.Definitions.any, polymorphic) t| Log : Shared_ast__.Definitions.log_entry
* Catala_utils.Uid.MarkedString.info list -> ('a Shared_ast__.Definitions.any,
polymorphic)
t| Minus : ([ `Desugared ], overloaded) t| Minus_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Minus_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Minus_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Minus_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| ToRat : ([ `Desugared ], overloaded) t| ToRat_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| ToRat_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| ToMoney : ([ `Desugared ], overloaded) t| ToMoney_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Round : ([ `Desugared ], overloaded) t| Round_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Round_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| And : ('a Shared_ast__.Definitions.any, monomorphic) t| Or : ('a Shared_ast__.Definitions.any, monomorphic) t| Xor : ('a Shared_ast__.Definitions.any, monomorphic) t| Eq : ('a Shared_ast__.Definitions.any, polymorphic) t| Map : ('a Shared_ast__.Definitions.any, polymorphic) t| Concat : ('a Shared_ast__.Definitions.any, polymorphic) t| Filter : ('a Shared_ast__.Definitions.any, polymorphic) t| Reduce : ('a Shared_ast__.Definitions.any, polymorphic) t| Add : ([ `Desugared ], overloaded) t| Add_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Add_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Add_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Add_dat_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Add_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Sub : ([ `Desugared ], overloaded) t| Sub_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Sub_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Sub_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Sub_dat_dat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Sub_dat_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Sub_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Mult : ([ `Desugared ], overloaded) t| Mult_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Mult_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Mult_mon_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Mult_dur_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Div : ([ `Desugared ], overloaded) t| Div_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Div_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Div_mon_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Div_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Div_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lt : ([ `Desugared ], overloaded) t| Lt_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lt_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lt_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lt_dat_dat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lt_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lte : ([ `Desugared ], overloaded) t| Lte_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lte_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lte_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lte_dat_dat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Lte_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gt : ([ `Desugared ], overloaded) t| Gt_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gt_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gt_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gt_dat_dat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gt_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gte : ([ `Desugared ], overloaded) t| Gte_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gte_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gte_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gte_dat_dat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Gte_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Eq_int_int : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Eq_rat_rat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Eq_mon_mon : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Eq_dur_dur : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Eq_dat_dat : ([< Shared_ast__.Definitions.scopelang
| Shared_ast__.Definitions.dcalc
| Shared_ast__.Definitions.lcalc ],
resolved)
t| Fold : ('a Shared_ast__.Definitions.any, polymorphic) t