Type Inference
La inferencia de tipos deduce automáticamente los tipos de las expresiones sin anotaciones explícitas; el algoritmo de Hindley-Milner es el fundamento de los lenguajes funcionales.
Propósito
Reducir la carga de anotaciones manteniendo la seguridad de tipos estática.
Mecanismo
Hindley-Milner: deriva el tipo más general (tipo principal) mediante unificación. El algoritmo W genera restricciones de tipo desde las expresiones y las unifica. Rust usa una variante de HM más lifetimes. TypeScript usa inferencia estructural.
Casos de uso
- Lenguajes funcionales
- Deducción de tipos en Rust
- Inferencia en TypeScript