diff --git a/introduction.tex b/introduction.tex index f3328e6..500a16b 100644 --- a/introduction.tex +++ b/introduction.tex @@ -14,7 +14,7 @@ Our algorithm is also capable of finding solutions involving wildcards as shown %This paper extends a type inference algorithm for Featherweight Java \cite{TIforFGJ} by adding wildcards. %The last step to create a type inference algorithm compatible to the Java type system. -The algorithm presented in this paper is a slightly improved version of the one in \cite{TIforFGJ} including wildcard support. +The algorithm presented in this paper is a improved version of the one in \cite{TIforFGJ} including wildcard support. %a modified version of the \unify{} algorithm presented in \cite{plue09_1}. The input to the type inference algorithm is a Featherweight Java program (example in figure \ref{fig:nested-list-example-typeless}) conforming to the syntax shown in figure \ref{fig:syntax}. The \fjtype{} algorithm calculates constraints based on this intermediate representation, @@ -520,6 +520,10 @@ $ The \unify{} algorithm only sees the constraints with no information about the program they originated from. The main challenge was to find an algorithm which computes $\sigma(\wtv{a}) = \rwildcard{X}$ for example \ref{intro-example1} but not for example \ref{intro-example2}. +\subsection{ANF transformation} +The input is transformed to A-normal form. +%TODO: describe ANF syntax (which is different then the one from the wiki: https://en.wikipedia.org/wiki/A-normal_form) + \subsection{Capture Conversion} The input to our type inference algorithm does not contain let statements. Those are added after computing a type solution.