नहीं, एक मोनड नहीं, बल्कि एक कॉमोनड! यह एक ऐसा फ़ंक्शन बदलता है जो एक लपेटा हुआ ऑब्जेक्ट लेता है और एक सामान्य मान को उस फ़ंक्शन में देता है जो दोनों एक लिपटे ऑब्जेक्ट को लेता है और देता है। एक हास्केल प्रकार हस्ताक्षर के रूप में है कि होगा:
(Wrapped a -> b) -> (Wrapped a -> Wrapped b)
value
के प्रकार के हस्ताक्षर है:
Wrapped a -> a
ये ठीक कर रहे हैं आप एक comonad के लिए क्या जरूरत है। पहले समारोह को आमतौर पर extend
और दूसरा extract
कहा जाता है।
आप कुछ अतिरिक्त संदर्भ के साथ एक कॉमोनैड के मूल्य के रूप में सोच सकते हैं। और यह निश्चित रूप से बिल्कुल chain
करता है।
कॉमोनैड्स के बारे में अधिक जानकारी के लिए this Stackoverflow question देखें।
स्रोत
2012-05-04 14:18:35
मैंने इस हैकेल को टैग किया है, क्योंकि इस विषय पर हैकेलर के पास कुछ कहना है। – Marcin