Aller au contenu
uencoder

Type Inference

L'inférence de types déduit automatiquement les types des expressions sans annotations explicites ; l'algorithme de Hindley-Milner est le socle des langages fonctionnels.

Objectif

Réduire la charge d'annotation tout en conservant la sûreté du typage statique.

Mécanisme

Hindley-Milner dérive le type le plus général (type principal) par unification. L'algorithme W génère des contraintes de types depuis les expressions et les unifie. Rust utilise une variante de HM plus les durées de vie. TypeScript utilise l'inférence structurelle.

Cas d’usage

  • Langages fonctionnels
  • Déduction de types en Rust
  • Inférence en TypeScript

Outils associés

References