let-Polymorphie, Hindley/Damas/Milner
- Inferenzsystem ähnlich zu Rekonstruktion
monomorpher Typen mit Aussagen der Form
E X : (T, C)
mathend000#
- Umgebung E
mathend000# ist jetzt partielle Abbildung
von Name nach Typschema (nicht wie bisher: nach Typ).
- Bei Typinferenz für let-gebundene Bezeichner
wird über die freien Typvariablen generalisiert.
- Dazu Teil-Constraint-Systeme lokal lösen.
Beispiel
let { c = ... }
in let { g = \ f x -> f (if b c x) } in ..
Johannes Waldmann
2014-03-31