@@ -23436,7 +23436,7 @@ \subsection{Same Static Type}
2343623436In short, this transformation adds a unique prefix to every type name
2343723437which is resolved to a top-level declaration
2343823438(in the same library or in an imported library).
23439-
23439+
2344023440This transformation does not change any occurrence of \VOID,
2344123441and does not need to;
2344223442\VOID{} is a reserved word, not a type identifier.
@@ -23458,7 +23458,8 @@ \subsection{Same Static Type}
2345823458
2345923459\LMHash{}%
2346023460When we say that two types $T_1$ and $T_2$ have the
23461- \IndexCustom{same explicitly resolved syntax}{type!same explicitly resolved syntax},
23461+ \IndexCustom{same explicitly resolved syntax}{%
23462+ type!same explicitly resolved syntax},
2346223463it refers to the situation where the current library
2346323464and all libraries which are reachable via one or more imports
2346423465have been transformed as described above,
@@ -23474,7 +23475,7 @@ \subsection{Same Static Type}
2347423475A function type is the only kind of type that declares type variables.
2347523476For example,
2347623477\code{List<X>\,\,\FUNCTION<X>({X\,\,arg})}
23477- can be turned into
23478+ can be turned into
2347823479\code{List<Y>\,\,\FUNCTION<Y>({Y\,\,arg})}
2347923480by alpha conversion.%
2348023481}
@@ -23895,7 +23896,7 @@ \section*{Appendix: Algorithmic Subtyping}
2389523896\item
2389623897 If $T_0$ is \code{($V_0$, \ldots, $V_n$, \{$V_{n+1} d_{n+1}$, \ldots, $V_m d_m$\})}
2389723898 and $T_1$ is \code{($S_0$, \ldots, $S_n$, \{$S_{n+1} d_{n+1}$, \ldots, $S_m d_m$\})}
23898- then \SubtypeNE{T_0}{T_1} if{}f \SubtypeNE{V_i}{S_i} for each $i \in 0 .. m$.
23899+ then \SubtypeNE{T_0}{T_1} if{}f \SubtypeNE{V_i}{S_i} for each $i \in 0 .. m$.
2389923900\end{itemize}
2390023901
2390123902
0 commit comments