यदि मैं यह डालने समारोह है:हास्केल: foldr foldr1 बनाम
foldr insert [] [1,19,-2,7,43]
लेकिन इस:
insert x [] = [x]
insert x (h:t)
| x <= h = x:(h:t)
| otherwise = h:(insert x t)
यह एक क्रमबद्ध सूची का उत्पादन
foldr1 insert [1,19,-2,7,43]
पैदा करता है 'का निर्माण नहीं कर सकते अनंत प्रकार: a0 = [a0] '
मैं उलझन में हूं कि दूसरी कॉल क्यों काम नहीं कर सकती है।
मैं foldr और foldr1 दोनों के लिए परिभाषाओं पर ध्यान दिया है और साधारण अंकगणित कार्यों के साथ दोनों का पता लगाया है, लेकिन मैं अभी भी क्यों दूसरी कॉल विफल रहता है के लिए एक स्पष्ट विवरण के साथ नहीं आ सकती।