Looking into BCD subtyping rules in siek2020transitivity
Nat <: Real
Find B to be Nat -> Int & Nat -> String
Real -> Top & Nat -> Top & Nat -> Int & Nat -> String
<: Nat -> Int & String
Including [Real -> Top] and [rury8pat -> Top] does not hurt?
since we can always later drop Top anyways when deriving
TODO
- todo thisweek fix the
NotTopCod
implementation - Question: For the constraint , in the implementation do we need to consider all possible subsets? or it is fine just to consider the maximal set such that all codomains’ elements in
B
are supertypes ofC
?- maybe true for functions, records,
- not for recursive types ⇒ dedicated rules