11
कल रात, मैं कुछ मनोरंजक कोड लिख रहा था, और किसी बिंदु पर मैंने concatMap
को >>=
के साथ बदल दिया और मेरे कोड में ~ 10% की गति देखी।>> = concatMap से तेज़ क्यों है जब उन्हें एक ही चीज़ होना चाहिए?
मैं >>=
की परिभाषा के तहत []
के लिए concatMap
था, इसलिए मैं थोड़ा उलझन में हूं।
दिलचस्प उपयोग कर रहा है। मैं मदद नहीं कर सकता लेकिन सोच सकता हूं कि 'फोल्डबल' जो 'वैकल्पिक' भी है 'मोनाड' के बराबर है .... – AJFarmar
@AJFarmar आप ऐसा क्यों सोचेंगे? मुझे नहीं पता कि यह कैसे समझता है – Emil
@ user3217013 'बाइंड 'एफए एफ = फ़ोल्डर (<|>) खाली $ फ़ोल्डर (:) [] (एफएमएपी एफ एफए)' जहां 'बाइंड' :: (फोल्ड करने योग्य एफ, आवेदक एफ) => एफए -> (ए -> एफबी) -> एफबी'। QED। – AJFarmar