@@ -21781,7 +21781,7 @@ \subsection{Subtypes}
2178121781may arise during static analysis due to type promotion
2178221782(\ref{typePromotion}).
2178321783They never occur during execution,
21784- and there are many other restrictions on where they can occur
21784+ and there are several other restrictions on where they can occur
2178521785(\ref{intersectionTypes}).
2178621786However, their subtype relations are specified without restrictions.
2178721787\commentary{%
@@ -23508,9 +23508,6 @@ \section*{Appendix: Algorithmic Subtyping}
2350823508with good performance.
2350923509
2351023510\LMHash{}%
23511- In this algorithm, types are considered to be the same when they have
23512- the same canonical syntax
23513- (\ref{theCanonicalSyntaxOfTypes}).
2351423511The algorithm must be performed such that the first case that matches
2351523512is always the case which is performed.
2351623513The algorithm produces results which are both positive and negative
@@ -23684,8 +23681,11 @@ \section*{Appendix: Algorithmic Subtyping}
2368423681 \item \SubtypeNE{[Z_0/Y_0, \ldots, Z_k/Y_k]S_i}{[Z_0/X_0, \ldots, Z_k/X_k]V_i}
2368523682 for $i \in 0 .. q$.
2368623683 \item \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
23687- \item $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23688- have the same canonical syntax, for $i \in 0 .. k$.
23684+ \item
23685+ \MutualSubtypeNE{%
23686+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23687+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
23688+ for $i \in 0 .. k$.
2368923689 \end{itemize}
2369023690\item
2369123691 \textbf{Named Function Types:}
@@ -23725,8 +23725,9 @@ \section*{Appendix: Algorithmic Subtyping}
2372523725 \item
2372623726 \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
2372723727 \item
23728- $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23729- have the same canonical syntax,
23728+ \MutualSubtypeNE{%
23729+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23730+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
2373023731 for each $i \in 0 .. k$.
2373123732 \end{itemize}
2373223733
0 commit comments