2010-09-22 12 views
6

के लिए कुछ भाषाएं और उपयोग आपके अनुसार, आपको लगता है कि कौन सी भाषा आपको मोनाड्स (पायथन/रूबी/एलआईएसपी) लागू करने के लिए सबसे अच्छी होगी ?, क्या कोई मुझे मोनाड्स के कुछ संभावित उपयोग बता सकता है (कृपया उदाहरण दें) अपवाद की तरह?मोनैड

अग्रिम

+0

मैं शीर्षक बदल क्योंकि पिछले एक आकस्मिक राहगीरों को गुमराह किया गया था सोचने के लिए द्वारा इस सवाल का तार्किक था। प्रश्न को बंद होने से रोकने के लिए मैंने शीर्षक संपादित किया। –

+0

ठीक है धन्यवाद ...... – Ishihara

उत्तर

19

All About Monads - पौराणिक ट्यूटोरियल है कि सभी मानक monads सूचीबद्ध करता है और वास्तविक दुनिया उदाहरण के एक बहुत देता है।

लोकप्रिय मोनैड जो आप मुख्यधारा की भाषाओं में भी मिल सकते हैं Maybe, List और Continuation हैं। कुछ लोग यह भी सोचते हैं कि jQuery स्वयं एक मोनड है (क्योंकि यह monadic axioms का पालन करता है)।

भाषा पसंद के लिए, हास्केल और इसके डेरिवेटिव मोनैड को मौलिक अवधारणा के रूप में उपयोग कर रहे हैं, हालांकि, एक विकल्प के रूप में, कई आधुनिक भाषाओं में मोनैड बनाना संभव है। मोनैड अवधारणा से परिचित होने के लिए, मैं उस भाषा को बेहतर ढंग से चुनूंगा जिसके साथ मैं सबसे सहज हूं।

+0

बहुत बढ़िया ट्यूटोरियल! – Ishihara

+0

"मोनैड के बारे में सब कुछ गायब हो गया है" :(.. मुझे सबसे नज़दीक मिल सकता है: http://en.wikibooks.org/wiki/Haskell/Understanding_monads (यह 6 पृष्ठों में से पहला है)। यदि आप देखते हैं मूल लेख दोबारा, कृपया मुझे बताएं। – laher

+0

@ amir75, thx outing के लिए thx। मैंने लिंक अपडेट किया है। –

1

उदाहरणों के लिए धन्यवाद, फिलिप वाद्लेर, "कार्यात्मक प्रोग्रामिंग के लिए monads" देखें।

7

वरीयता के क्रम में:

  1. हास्केल
  2. एफ #
  3. स्काला
  4. सी #
  5. घटते सादगी के क्रम में

monads:

  1. हो सकता है कि (अपवाद)
  2. रीडर
  3. लेखक
  4. राज्य
  5. पार्सर
  6. Async
+0

कोई ओकैमएल या एफ # के साथ सूचीबद्ध है? – wheaties

+1

ओकंपल में दुर्भाग्य से मोनड के लिए कोई अंतर्निहित वाक्य रचनात्मक चीनी नहीं है – gandjustas

+7

स्कैला> एफ #। क्यूं कर? सरल। स्कैला में आप किसी भी मोनैड पर काम कर रहे कार्यों को लिख सकते हैं, जिन्हें आप एफ # में नहीं कर सकते हैं, क्योंकि इसके लिए उच्च प्रकार के प्रकार की आवश्यकता होती है। –

3

यहां कुछ ट्यूटोरियल हैं जो क्लोजर का उपयोग करते हैं। एक पुस्तकालय में मोनाड्स लागू किए जाते हैं।

+2

हालांकि मोनैड क्लोजर में बेवकूफ़ नहीं हैं (ज्यादातर मामलों में अन्य लैंग्स सुविधाओं के साथ एक ही उद्देश्य प्राप्त करने का एक संपूर्ण तरीका है), और इसके आधिकारिक प्रत्यारोपण में बहुत सारे मैक्रो हैकरी हैं, इनका उपयोग करना संभव है। मैं एक और ट्यूटोरियल जोड़ूंगा: http: //intensivesystems.net/tutorials/monads_101.html, http://erl.nfshost.com/2010/09/05/bind-unit-and-all-that-2 और http://onclojure.com/2009/06/24/protecting-mutable-state-in- राज्य-इकाई / – jneira

संबंधित मुद्दे