The Power of Composition (Scott Wlaschin) पढ़कर महसूस की गई बातें - composition करते-करते Currying और Monad तक
(ohyecloudy.com)- पुन: उपयोग के तरीकों में से एक composition है, और यह type तथा function दोनों पर लागू होता है
- type को AND या OR से compose किया जाता है
- जब input की संख्या और output की संख्या समान हो, तब function composition आसान होता है
- एक function का output अगले function के input में दे दें, काम हो जाता है
- जब संख्या अलग हो, तब इसे हल करने का तरीका चाहिए
- जब input की संख्या अधिक हो, तब Currying
- यह input की संख्या को एक बना देता है
- जब output की संख्या अधिक हो, तब Monad
- यह output की संख्या को एक बनाकर उसे processed या unprocessed में अलग करता है
- processed चीज़ को अगली function में वैसे ही pass कर देते हैं
- unprocessed चीज़ को function से process करने की कोशिश की जाती है
- बाद में पता चला कि यही Monad है
- output को Monad में रखकर bind से function composition करते हैं
- यह output की संख्या को एक बनाकर उसे processed या unprocessed में अलग करता है
function composition के साथ समझाते हुए "क्यों?" का जवाब भी दिया गया है, इसलिए बात आसानी से समझ में आती है। Monad को किसी box में डालने और निकालने जैसी शैली में समझाने वाले लेख पहले देखे थे, लेकिन तब अच्छी तरह समझ नहीं आया था। अब सोचता हूँ कि शायद इसलिए, क्योंकि उन लेखों में "क्यों" गायब था।
2 टिप्पणियां
अच्छा पढ़ा~
अच्छा लगा। इस तरह देखने पर समझना आसान है।