La programación con tipos es un estilo de programación que se caracteriza por el uso extensivo de información de tipos, de modo que el mecanismo de verificación de consistencia de tipos garantiza la detección temprana del número máximo de posibles tipos de errores . La programación completamente mecanografiada puede admitirse en el nivel del sistema de tipos del lenguaje o ser introducida idiomáticamente por el programador . El concepto fue introducido por Luca Cardelli en 1991 en la obra del mismo nombre .
Haskell es un lenguaje de tipo completo .