Skip to content

Commit 8147f18

Browse files
committed
WIP
1 parent 6437681 commit 8147f18

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

specification/dartLangSpec.tex

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21636,7 +21636,7 @@ \subsection{Subtypes}
2163621636
may arise during static analysis due to type promotion
2163721637
(\ref{typePromotion}).
2163821638
They 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}).
2164121641
However, their subtype relations are specified without restrictions.
2164221642
\commentary{%
@@ -23331,9 +23331,6 @@ \section*{Appendix: Algorithmic Subtyping}
2333123331
with 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}).
2333723334
The algorithm must be performed such that the first case that matches
2333823335
is always the case which is performed.
2333923336
The 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

Comments
 (0)