इसके बाद क्या एक मोनड का उदाहरण है जो एक वैकल्पिक है लेकिन एक मोनडप्लस नहीं है? :
मान लें एक इकाई है। संबंधों betweem क्या हैं मीटर एक जा रहा है वैकल्पिक , एक MonadPlusCatch और एक MonadPlusDistr ? छह संभव जोड़े में से प्रत्येक के लिए, मैं या तो एक सबूत है कि एक दूसरे का मतलब है, या एक काउंटर उदाहरण है कि यह नहीं है करना चाहते हैं।
(मैं उपयोग कर रहा हूँ
MonadPlusCatch एक अलग करने के लिए MonadPlus कि संतुष्ट वाम पकड़ने नियम:
mplus (return a) b = return a
MonadPlusDistr एक MonadPlus भेद करने के लिए जो वाम-वितरण नियम को पूरा करता है:
mplus a b >>= k = mplus (a >>= k) (b >>= k)
HaskellWiki पर मोनाडप्लस देखें ।)
मेरा वर्तमान ज्ञान + अंतर्ज्ञान यह है:
- मोनाडप्लसडिस्ट वैकल्पिक -
संभावितसच -यह सीधा लगता है, मेरा मानना है कि मेरे पास एक सबूत का स्केच है, मैं इसकी जांच करूंगा और अगर यह सही है, तो मैं इसे पोस्टकरूंगा एंड्रयूके ने इस हिस्से का जवाब दिया। -
Maybe
MaybeT (Either e)
MaybeT m'
((pure x) <|> g) <*> a = -- LeftCatch (pure x) <*> a -- which in general cannot be equal to ((pure x) <*> a) <|> (g <*> a)
फिर से जाँच करूँगा और पोस्ट करूँगा। (दिलचस्प बात
Maybe
यह है कि सिर्फ यह साबित करने के लिए है, क्योंकि हम विश्लेषण कर सकते हैं कि क्याa
हैJust something
याNothing
- उपरोक्त एंड्रयूज का जवाब देखें।)-
[]
[]
-
[]
-
Maybe
f <$>
कोई मुहावरेदार कार्रवाई नहीं करता है, यह शुद्ध है, इसलिए किसी भी तरह "पक्षों को स्विच करना" संभव हो सकता है।