शीर्षक यह सब कहता है। foldl1
और foldl'
दोनों को Foldable
पर सामान्यीकृत किया गया है, जबकि foldl1'
नहीं है। क्या यह सिर्फ हाल ही में निरीक्षण है? या यह एक डिजाइन पसंद है?Foldl1 'Foldable के लिए सामान्यीकृत क्यों नहीं है?
foldl1'
के प्रकार
foldl1' :: (a -> a -> a) -> [a] -> a
मैं यह उम्मीद foldl1
के रूप में एक ही प्रकार है:
foldl1 :: Foldable t => (a -> a -> a) -> t a -> a
मैं यह भी देखना है कि foldl1'
Data.List
नहीं लेकिन Data.Foldable
से निर्यात किया जाता है। शायद यह संबंधित है?
न तो 'foldl1' और न ही' foldl1'' 'Foldable' में है। वे 'Foldable1', nonempty foldable कंटेनर की कक्षा में हैं। किसी ने गलती की और 'Foldable' में 'foldl1' डाल दिया। मुझे नहीं लगता कि किसी को भी उस त्रुटि को जोड़ना दिल है। – dfeuer
@ डीफ्यूअर: 'फोल्डबल' का परिचय था जो पहले और चर्चा और चुनाव की लंबी अवधि से पहले नहीं था? क्या यह अनदेखा था या यह कुछ समझौता है? – ljedrz
@ljedrz मुझे लगता है कि आप 'Foldable' के मूल डिज़ाइन (यदि कोई हैं) के साथ प्रीलूड में 'Foldable' का उपयोग करने के बारे में चर्चा को मिश्रित कर रहे हैं। – Cactus