Begriffe:
- Prüfung: Programmierer deklariert, Compiler prüft
- Inferenz: Compiler ergänzt Deklaration (C#: var, Haskell: let)
Aufgabe: vlg. in Java: Konstruktor/Fabrikmethode
Komplexität:
- einfache Typen (System F1): polynomiell
(Wort- bzw. Baumautomaten)
- generische Typen (Variablen über Typen, System F2): exponentiell
- höhere Variablen (System F): unentscheidbar
Siehe Beispiele Java, C#, Haskell
Johannes Waldmann
2008-01-24