मोनैड पर वहां बहुत सारे ट्यूटोरियल हैं जो कहते हैं ... "देखो! यहां एक ऐसा मामला है जहां हम एक मोनड का उपयोग कर सकते हैं" या "यह एक मोनैड है"। मैं जो जानना चाहता हूं वह यह है कि लोग इस निष्कर्ष पर आने के लिए कुछ कदम उठाते हैं कि वे खुद से कह सकते हैं - "जी व्हाइज़! ऐसा लगता है कि हम यहां एक मोनड का उपयोग कर सकते हैं!"क्लोजर में, हम मैक्रो और इसके विपरीत के बजाय एक मोनड का उपयोग कब करना चाहिए?
तो जब कोई मुझसे कहता है ... "(blah) एक इकाई के साथ कोई संबंध नहीं है ...", यह वास्तव में मुझे मेरे सवाल है, जो कर रहे हैं का जवाब मदद नहीं करता है:
- कैसे कर मैं यह निर्धारित करने के बारे में सोचता हूं कि मोनैड का उपयोग करके कार्यक्रमों में किस प्रकार के पैटर्न व्यक्त किए जा सकते हैं?
- जब मैंने उन्हें उपयोग करने की क्षमता की पहचान की है तो मैं अपना खुद का अनुकूलित मोनैड कैसे लिख सकता हूं?
यदि कोई मदद करने में रूचि रखता है तो मैंने मोनैड के बारे में वास्तव में एक लंबा सवाल शुरू किया - Map and Reduce Monad for Clojure... What about a Juxt Monad?।
इस प्रश्न पर वापस
जब हम एक इकाई के बजाय एक मैक्रो के उपाध्यक्ष प्रतिकूल का उपयोग करें और चाहिए?
- मैंने पढ़ा है कि लेखों देखा Ande प्रस्तुतियों का कहना है कि ... 'monads डीएसएल अमूर्त के लिए उपयोग किया जाता है' .... लेकिन clojure डीएसएल पुस्तकालयों से ज्यादातर (जैसे। हिचकी और कोरमा) defmacro उपयोग कर रहे हैं और यह बहुत अच्छा काम करता है।
और यदि हमारे पास मैक्रोज़ हैं तो हमें क्लोजर में मोनाड्स की आवश्यकता क्यों है?
बस जोड़ने के लिए ... क्लोजर मोनैड में मैक्रोज़ का उपयोग करके लागू किया जाता है। तो क्लोजर में मोनैड सिर्फ एक पुस्तकालय है जहां अन्य भाषाओं में उन्हें भाषा का हिस्सा होना चाहिए – Ankur
हास्केल में, "भाषा का हिस्सा" (मानक पुस्तकालय के विपरीत) के मोनैड का एकमात्र हिस्सा सुविधाजनक है नोटेशन, और I/O के लिए उनका उपयोग। – Sgeo
@ अंकुर, जो कि कोई भी समझ में नहीं आता है। एक मोनैड अमूर्तता दो कार्यों द्वारा पूरी तरह से परिभाषित किया जाता है। यदि आप गतिशील रूप से टाइप की गई भाषा का उपयोग कर रहे हैं, तो इस अमूर्तता का उपयोग करने से आपको रोक नहीं है। यदि आपकी भाषा स्थिर रूप से और नाममात्र टाइप की गई है, तो आपको इस अबास्ट्रक्शन का विश्वसनीय रूप से प्रतिनिधित्व करने के लिए उच्च श्रेणी के प्रथम श्रेणी मॉड्यूल की आवश्यकता होगी। – missingfaktor