You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Subtyping algorithm uses an OCaml pattern-matching for each cases.
The problem with the pattern matching it's when a pattern is detected, it enters in the expression for this pattern and won't try all other possibilities. But, maybe it's not the rule to apply, it could exist other rules for the question.
For the moment, if two cases are possible, depending on the order in the pattern matching, the second case is not used to try to infer the answer.
Cases like AND1 <: and AND2 <: are good examples because the answer to the question like S <: T INTER U can be infered by AND1<: or by AND2<: and it's not because one fails that the other will fail. For this reason, the rules are grouped in only one pattern.
The same thing happens with SEL <: and <: SEL when we have x.t <: y.t.
A work must be done to know when two rules can be applied for the same question.
The text was updated successfully, but these errors were encountered:
Subtyping algorithm uses an OCaml pattern-matching for each cases.
The problem with the pattern matching it's when a pattern is detected, it enters in the expression for this pattern and won't try all other possibilities. But, maybe it's not the rule to apply, it could exist other rules for the question.
For the moment, if two cases are possible, depending on the order in the pattern matching, the second case is not used to try to infer the answer.
Cases like AND1 <: and AND2 <: are good examples because the answer to the question like
S <: T INTER U
can be infered byAND1<:
or byAND2<:
and it's not because one fails that the other will fail. For this reason, the rules are grouped in only one pattern.The same thing happens with
SEL <
: and<: SEL
when we havex.t <: y.t
.A work must be done to know when two rules can be applied for the same question.
The text was updated successfully, but these errors were encountered: