@@ -21636,7 +21636,7 @@ \subsection{Subtypes}
2163621636may arise during static analysis due to type promotion
2163721637(\ref{typePromotion}).
2163821638They never occur during execution,
21639- and there are many other restrictions on where they can occur
21639+ and there are several other restrictions on where they can occur
2164021640(\ref{intersectionTypes}).
2164121641However, their subtype relations are specified without restrictions.
2164221642\commentary{%
@@ -23331,9 +23331,6 @@ \section*{Appendix: Algorithmic Subtyping}
2333123331with good performance.
2333223332
2333323333\LMHash{}%
23334- In this algorithm, types are considered to be the same when they have
23335- the same canonical syntax
23336- (\ref{theCanonicalSyntaxOfTypes}).
2333723334The algorithm must be performed such that the first case that matches
2333823335is always the case which is performed.
2333923336The algorithm produces results which are both positive and negative
@@ -23507,8 +23504,11 @@ \section*{Appendix: Algorithmic Subtyping}
2350723504 \item \SubtypeNE{[Z_0/Y_0, \ldots, Z_k/Y_k]S_i}{[Z_0/X_0, \ldots, Z_k/X_k]V_i}
2350823505 for $i \in 0 .. q$.
2350923506 \item \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
23510- \item $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23511- have the same canonical syntax, for $i \in 0 .. k$.
23507+ \item
23508+ \MutualSubtypeNE{%
23509+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23510+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
23511+ for $i \in 0 .. k$.
2351223512 \end{itemize}
2351323513\item
2351423514 \textbf{Named Function Types:}
@@ -23548,8 +23548,9 @@ \section*{Appendix: Algorithmic Subtyping}
2354823548 \item
2354923549 \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
2355023550 \item
23551- $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23552- have the same canonical syntax,
23551+ \MutualSubtypeNE{%
23552+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23553+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
2355323554 for each $i \in 0 .. k$.
2355423555 \end{itemize}
2355523556
0 commit comments