@@ -21767,7 +21767,7 @@ \subsection{Subtypes}
2176721767may arise during static analysis due to type promotion
2176821768(\ref{typePromotion}).
2176921769They never occur during execution,
21770- and there are many other restrictions on where they can occur
21770+ and there are several other restrictions on where they can occur
2177121771(\ref{intersectionTypes}).
2177221772However, their subtype relations are specified without restrictions.
2177321773\commentary{%
@@ -23480,9 +23480,6 @@ \section*{Appendix: Algorithmic Subtyping}
2348023480with good performance.
2348123481
2348223482\LMHash{}%
23483- In this algorithm, types are considered to be the same when they have
23484- the same canonical syntax
23485- (\ref{theCanonicalSyntaxOfTypes}).
2348623483The algorithm must be performed such that the first case that matches
2348723484is always the case which is performed.
2348823485The algorithm produces results which are both positive and negative
@@ -23656,8 +23653,11 @@ \section*{Appendix: Algorithmic Subtyping}
2365623653 \item \SubtypeNE{[Z_0/Y_0, \ldots, Z_k/Y_k]S_i}{[Z_0/X_0, \ldots, Z_k/X_k]V_i}
2365723654 for $i \in 0 .. q$.
2365823655 \item \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
23659- \item $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23660- have the same canonical syntax, for $i \in 0 .. k$.
23656+ \item
23657+ \MutualSubtypeNE{%
23658+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23659+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
23660+ for $i \in 0 .. k$.
2366123661 \end{itemize}
2366223662\item
2366323663 \textbf{Named Function Types:}
@@ -23697,8 +23697,9 @@ \section*{Appendix: Algorithmic Subtyping}
2369723697 \item
2369823698 \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
2369923699 \item
23700- $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23701- have the same canonical syntax,
23700+ \MutualSubtypeNE{%
23701+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23702+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
2370223703 for each $i \in 0 .. k$.
2370323704 \end{itemize}
2370423705
0 commit comments