@@ -23464,7 +23464,7 @@ \subsection{Same Static Type}
2346423464In short, this transformation adds a unique prefix to every type name
2346523465which is resolved to a top-level declaration
2346623466(in the same library or in an imported library).
23467-
23467+
2346823468This transformation does not change any occurrence of \VOID,
2346923469and does not need to;
2347023470\VOID{} is a reserved word, not a type identifier.
@@ -23486,7 +23486,8 @@ \subsection{Same Static Type}
2348623486
2348723487\LMHash{}%
2348823488When we say that two types $T_1$ and $T_2$ have the
23489- \IndexCustom{same explicitly resolved syntax}{type!same explicitly resolved syntax},
23489+ \IndexCustom{same explicitly resolved syntax}{%
23490+ type!same explicitly resolved syntax},
2349023491it refers to the situation where the current library
2349123492and all libraries which are reachable via one or more imports
2349223493have been transformed as described above,
@@ -23502,7 +23503,7 @@ \subsection{Same Static Type}
2350223503A function type is the only kind of type that declares type variables.
2350323504For example,
2350423505\code{List<X>\,\,\FUNCTION<X>({X\,\,arg})}
23505- can be turned into
23506+ can be turned into
2350623507\code{List<Y>\,\,\FUNCTION<Y>({Y\,\,arg})}
2350723508by alpha conversion.%
2350823509}
@@ -23923,7 +23924,7 @@ \section*{Appendix: Algorithmic Subtyping}
2392323924\item
2392423925 If $T_0$ is \code{($V_0$, \ldots, $V_n$, \{$V_{n+1} d_{n+1}$, \ldots, $V_m d_m$\})}
2392523926 and $T_1$ is \code{($S_0$, \ldots, $S_n$, \{$S_{n+1} d_{n+1}$, \ldots, $S_m d_m$\})}
23926- then \SubtypeNE{T_0}{T_1} if{}f \SubtypeNE{V_i}{S_i} for each $i \in 0 .. m$.
23927+ then \SubtypeNE{T_0}{T_1} if{}f \SubtypeNE{V_i}{S_i} for each $i \in 0 .. m$.
2392723928\end{itemize}
2392823929
2392923930
0 commit comments