Lo que sentí al ver The Power of Composition (Scott Wlaschin): al intentar componer, aparecieron Currying y Monad
(ohyecloudy.com)- La composición, una de las formas de reutilización, se aplica a tipos y funciones
- Los tipos se componen con AND u OR
- Cuando la cantidad de inputs y outputs es la misma, la composición de funciones es fácil
- Basta con pasar el output de una función como input de la siguiente
- Cuando la cantidad es distinta, hace falta una forma de resolverlo
- Cuando hay más inputs, se usa Currying
- Convierte la cantidad de inputs en uno solo
- Cuando hay más outputs, se usa Monad
- Convierte la cantidad de outputs en uno solo y los distingue entre procesados o no procesados
- Lo que ya fue procesado se pasa tal cual a la siguiente función
- Lo que no fue procesado se intenta procesar con una función
- Resulta que eso era Monad
- Se pone el output dentro de un Monad y se combinan funciones con bind
- Convierte la cantidad de outputs en uno solo y los distingue entre procesados o no procesados
Como lo explica a través de la combinación de funciones y responde al "¿por qué?", se entiende muy bien. Antes había visto textos que explicaban las mónadas como meter cosas en una caja y sacarlas, y no me terminaban de quedar claras. Ahora que lo pienso, creo que era porque a esos textos les faltaba el "por qué".
2 comentarios
Lo leí muy bien~
Lo disfruté mucho. Viéndolo así, es fácil de entender.