Motivationsbeispiel

This commit is contained in:
JanUlrich 2024-04-11 18:02:25 +02:00
parent 5bcffb7d70
commit f5ddc65497
2 changed files with 16 additions and 0 deletions

View File

@ -4,6 +4,21 @@
% - Kapitel 1.2 + 1.3 ist noch zu komplex % - Kapitel 1.2 + 1.3 ist noch zu komplex
% - Constraints und Unifikation erklären, bevor Unifikation erwähnt wird % - Constraints und Unifikation erklären, bevor Unifikation erwähnt wird
\section{Motivation}
\begin{verbatim}
import java.util.ArrayList;
import java.util.stream.*;
class Test {
void test(){
var s = new ArrayList<String>().stream().map(i -> 1);
receive(s);
}
void receive(Stream<Object> l){}
}
\end{verbatim}
\section{Type Inference for Java} \section{Type Inference for Java}
%The goal is to find a correct typing for a given Java program. %The goal is to find a correct typing for a given Java program.
Type inference for Java has many use cases and could be used to help programmers by inserting correct types for them, Type inference for Java has many use cases and could be used to help programmers by inserting correct types for them,

View File

@ -2,6 +2,7 @@
- Motivation (gibt es ein nicht funktionierendes Beispiel für lokale Typinferenz was mit unserem algorithmus funktioniert) - Motivation (gibt es ein nicht funktionierendes Beispiel für lokale Typinferenz was mit unserem algorithmus funktioniert)
- Zeile 52 steht LetFJ, muss eingeführt werden - Zeile 52 steht LetFJ, muss eingeführt werden
- Operatoren motivieren. Denotable expressable types - Operatoren motivieren. Denotable expressable types
Java macht CC implizit. Wir machen es mit let statements. Dadurch LetFJ einführen
- Java macht es anders. es gibt keine let statements - Java macht es anders. es gibt keine let statements
- In java kann ich die lets nur in bestimmter Weise einbauen. Die ANF Transformation macht aus TamedFJ das letFJ - In java kann ich die lets nur in bestimmter Weise einbauen. Die ANF Transformation macht aus TamedFJ das letFJ