"डुप्लिकेट"
किसी के बारे में बताएं Is this a case for foldM? को संभावित डुप्लिकेट के रूप में इंगित करें। अब, मेरी एक मजबूत राय है कि, दो प्रश्नों का उत्तर समान उत्तरों के साथ दिया जा सकता है, जो आवश्यक रूप से डुप्लीकेट नहीं हैं! "1 - 2 क्या है" और "i^2 क्या है" दोनों उपज "-1" उत्पन्न करते हैं, लेकिन नहीं, वे डुप्लिकेट प्रश्न नहीं हैं। मेरा प्रश्न (जो पहले से ही उत्तर दिया गया है) इस बारे में था "क्या कार्य iterateM
हास्केल मानक पुस्तकालय में मौजूद है", "एक जंजीर मोनैड कार्रवाई को कैसे कार्यान्वित करें" नहीं।क्या हास्केल में "चेन" मोनैड फ़ंक्शन है?
सवाल
जब मैं कुछ परियोजनाओं लिखते हैं, मुझे लगने इस Combinator लेखन:
repeatM :: Monad m => Int -> (a -> m a) -> a -> m a
repeatM 0 _ a = return a
repeatM n f a = (repeatM (n-1) f) =<< f a
यह सिर्फ एक monadic कार्रवाई n
बार करता है, अगली कार्रवाई में पिछले परिणाम खिला। मैंने कुछ hoogle
खोज और कुछ Google खोज की कोशिश की, और "मानक" हास्केल के साथ आने वाली कुछ भी नहीं मिली। क्या ऐसा औपचारिक कार्य है जिसे पूर्वनिर्धारित किया गया है?
मुझे इसे किसी भी * सामान्य * पैकेज में भी नहीं मिला - लेकिन [Hayoo] (http://hayoo.fh-wedel.de/?query=Monad+m+%3D%3E+Int+-%3E+ % 28 ए + -% 3 ई + एम + एक% 2 9 + -% 3 ई + ए + -% 3 ई + एम + ए) कम से कम 2 स्थानों को जानता है - इस मामले में मैं * प्रतिलिपि * * अनुमान लगा सकता हूं (शायद 'चेनएम' बेहतर है हालांकि नाम - 'प्रतिकृति' * दिया गया है *) – Carsten
क्या पिछले परिणाम में' प्रतिकृति एम' फ़ीड 'है? –
नहीं, लेकिन अगर मैं दोहराना या दोहराना पढ़ता हूं तो मैं अलग-अलग चीजों पर विचार करता हूं (केवल इस कारण से) - यह वास्तव में नामकरण पर केवल एक टिप्पणी है - माफ करना अगर यह गलतफहमी – Carsten