From 9e0d9ddd18dd8521495c1200341c623d67224caf Mon Sep 17 00:00:00 2001 From: Andreas Stadelmeier Date: Tue, 14 May 2024 16:35:30 +0200 Subject: [PATCH] Fixes and TODO --- introduction.tex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/introduction.tex b/introduction.tex index 9c95e50..c22e21a 100644 --- a/introduction.tex +++ b/introduction.tex @@ -26,7 +26,7 @@ or allowing to write typeless Java code which is then type inferred and thereby To outline the contributions in this paper we will list the advantages and improvements to smiliar type inference algorithms: \begin{description} \item[Global Type Inference for Featherweight Java] \cite{TIforFGJ} is a predecessor to our algorithm. -The algorithm presented in this paper is a improved version +The algorithm presented in this paper is an improved version with the biggest change being the added wildcard support. % Proven sound on type rules of Featherweight Java, which are also proven to produce sound programs % implication rules that follow the subtyping rules directly. Easy to understand soundness proof @@ -46,7 +46,7 @@ We try to keep the branching at a minimal amount to improve runtime behavior. Also the transformation steps of the \unify{} algorithm are directly related to the subtyping rules of our calculus. \item[Java Type Inference] -Java already provides type inference in a restricted form % namely {Local Type Inference}. +Standard Java provides type inference in a restricted form % namely {Local Type Inference}. which only works for local environments where the surrounding context has knwon types. But our global type inference algorithm is able to work on input programs which do not hold any type annotations at all. We will show the different capabilities with an example. @@ -95,6 +95,12 @@ Here our type inference algorithm based on unification is needed. \subsection{Conclusion} +% Additions: TODO +% - Global Type Inference Algorithm, no type annotations are needed +% - Soundness Proof +% - Easy to implement +% - Capture Conversion support +% - Existential Types support \begin{itemize} \item We introduce the language \tifj{} (chapter \ref{sec:tifj}).