Reflexões sobre The Power of Composition (Scott Wlaschin) — ao tentar compor, acabei chegando a Currying e Monad
(ohyecloudy.com)- Composição, uma das formas de reutilização
- Tipos são compostos com AND ou OR
- Quando a quantidade de inputs e outputs é a mesma, a composição de funções é fácil
- Basta passar o output de uma função como input da próxima
- Quando a quantidade é diferente, é preciso uma forma de resolver isso
- Quando há mais inputs, entra o Currying
- Ele faz com que a quantidade de inputs vire uma só
- Quando há mais outputs, entra o Monad
- Ele faz com que a quantidade de outputs vire uma só e separa entre processado e não processado
- O que já foi processado é simplesmente passado para a próxima função
- O que não foi processado tenta ser tratado pela função
- No fim das contas, isso era um Monad
- Colocar o output dentro de um Monad e combinar funções com
bind
- Ele faz com que a quantidade de outputs vire uma só e separa entre processado e não processado
Como a explicação é feita por meio da composição de funções e responde ao "por quê?", fica bem fácil de entender. Quando eu tinha lido textos que explicavam monads como algo do tipo "coloca na caixa e tira da caixa", eu não tinha conseguido entender direito. Pensando agora, acho que foi porque eram textos sem responder ao "por quê?".
2 comentários
Li com prazer~
Gostei bastante. Vendo assim, fica fácil de entender.