Unify example
This commit is contained in:
parent
4ec030d731
commit
b9ef35526f
11
unify.tex
11
unify.tex
@ -20,6 +20,17 @@ someList(){
|
|||||||
}
|
}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
|
Constraints for the untyped \texttt{someList} method:
|
||||||
|
\begin{constraintset}
|
||||||
|
$\begin{array}{l}
|
||||||
|
\exptype{List}{\tv{x}} \lessdot {\tv{r}}, \type{String} \lessdot {\tv{x}},
|
||||||
|
\exptype{List}{\tv{y}} \lessdot {\tv{r}}, \type{Integer} \lessdot {\tv{y}}
|
||||||
|
\end{array}$
|
||||||
|
\end{constraintset}
|
||||||
|
|
||||||
|
The constraint $\type{String} \lessdot {\ntv{x}}$ is solved by applying
|
||||||
|
\rulename{Super} and substituting $\type{String}$ for $\ntv{x}$.
|
||||||
|
|
||||||
\subsection{Description}
|
\subsection{Description}
|
||||||
The \unify{} algorithm tries to find a solution for a set of constraints like
|
The \unify{} algorithm tries to find a solution for a set of constraints like
|
||||||
$\set{\exptype{List}{String} \lessdot \tv{a}, \exptype{List}{Integer} \lessdot \tv{a}}$.
|
$\set{\exptype{List}{String} \lessdot \tv{a}, \exptype{List}{Integer} \lessdot \tv{a}}$.
|
||||||
|
Loading…
Reference in New Issue
Block a user