diff --git a/introduction.tex b/introduction.tex index 7b9d1bf..6fc316d 100644 --- a/introduction.tex +++ b/introduction.tex @@ -245,9 +245,15 @@ why do we need a lessdotCC constraint \dbox{Eine dashbox!} input is e.m(e); \begin{recap}\textbf{TI for FGJ without Wildcards:} +The type inference algorithm for Featherweight Generic Java \cite{TIforFGJ} (called \TFGJ{}) is complete and sound. +It is able to find a type solution for a Featherweight Generic Java program, which has no type annotations at all, +if there is any. +It's only restriction is that no polymorphic recursion is allowed. +\TFGJ{} generates subtype constraints $(\type{T} \lessdot \type{T})$ consisting of named types and type placeholders. - usually the type of e must be subtypes of the method parameters - in case of a polymorphic method: type placeholders resemble type parameters \end{recap} +Most involving wildcards: - depending on the type of e a capture conversion must be applied first - the captured type N must be a subtype of the method parameters