haskell - formal definition of "monadic function" -


विकी कहता है:

मोनैडाइक फ़ंक्शंस (यानी फ़ंक्शन जो मानद से मूल्य का उपयोग करते हैं उनकी आर्ग्यूमेंट्स या रिटर्न वैल्यू)।

मेरी समझ है कि एक फ़ंक्शन लेता है या मुनाद को मोनादिक फ़ंक्शन देता है, लेकिन ऐसा लगता है कि जब मैं इस पर आया था तो यह अधिक कठोर परिभाषा है

< P> लेखक ने कहा:

एक मोनैडाइक फंक्शन एक ऐसा कार्य है जो एक मौद्रिक मूल्य पैदा करता है। (ध्यान दें कि हमने इसके इनपुट प्रकार के बारे में कुछ भी नहीं कहा है)

और

फ़ॉर्म का कार्य f :: a - & gt; एम बी , जहां मोनड के आंतरिक मूल्य का प्रकार है। (इन क्लासिक मोनैडाइक फ़ंक्शन पर कॉल करें)

फार्म का कार्य f :: कुछ - & gt; एम बी , जहां फ़ंक्शन का इनपुट वास्तव में कोई फर्क नहीं पड़ता। (ये ढीले मोनादिक कार्यों को बुलाओ)

ऐसा लगता है कि परिभाषा बहुत सख्त और औपचारिक है, लेकिन मैं कहीं भी कुछ भी नहीं कहता पाया।

तो क्या ठीक एक मोनैडीक फ़ंक्शन है?

आइए एक फ़ंक्शन के इनपुट या आउटपुट में मोनड होने की संभावनाओं की जांच करें ।

  1. इनपुट तर्कों में से एक में मोनाद: f :: ma - & gt; एक्स । किसी भी मोनाद के लिए हमारे पास return :: a - & gt; एक , हम इसे एफ के साथ लिख सकते हैं और

      f कर सकते हैं। वापसी :: ए - & gt; एक्स  
  2. शुद्ध आउटपुट: f :: X - & gt; ख । दूसरी ओर से वापसी के साथ इसे लिखकर हमें

      वापसी मिलती है F :: X - & gt; एम बी     

    तो हम हमेशा एक शुद्ध आउटपुट को मोनैडिक में बदल सकते हैं और एक मोनैडिक इनपुट को शुद्ध रूप में परिवर्तित कर सकते हैं। और किसी भी कार्य में शुद्ध या मोनैडिक आदानों / आउटपुट को हमेशा प्रपत्र में परिवर्तित किया जा सकता है

      f :: a1 - & gt; ... - & gt; एक - & gt; एमबी  

    हालांकि, रिवर्स संभव नहीं है (सामान्य रूप में)।

    मैं कह सकता हूं कि शब्द 'क्लासिक' और 'ढीले शब्दों का कोई व्यापक उपयोग नहीं है 'मोनैडीक फ़ंक्शन।


Comments