El artículo explora el concepto de diseño impulsado por tipos (type-driven design), una metodología que el autor ha tenido dificultades para explicar de manera concisa. La clave para comprender este enfoque reside en la idea de "parse, don't validate". El autor ilustra esto a través de ejemplos en Haskell, demostrando cómo el sistema de tipos estáticos puede revelar la imposibilidad de implementar ciertas funciones. El artículo profundiza en cómo manejar funciones parciales, la conveniencia y los inconvenientes de usar Maybe, y finalmente propone una solución: fortalecer el tipo de argumento para eliminar la posibilidad de casos imposibles, utilizando el tipo NonEmpty para garantizar que una lista no esté vacía. Esto permite una implementación más eficiente y segura de funciones como head.
Diseño con Tipos: Analiza, No Valides
Fuentes:
Parse, don’t validate
