में Data.Map और Data.IntMap वर्तमान में हो सकता है कि में लिपटे मान साथ प्रकार हस्ताक्षरएक इकाई लौटने हास्केल नक्शे
lookup :: Ord k => k -> Map k a -> Maybe a
यह
lookup :: (Monad m, Ord k) => k -> Map k a -> m a
के और अधिक सामान्य प्रकार किया करते थे देखने समारोह
मुझे एहसास है कि पूर्व में अतिरिक्त प्रकार के विनिर्देश की आवश्यकता कम हो जाती है, लेकिन बाद वाला इसे अधिक सामान्य बना देगा और सूची समझ में लुकअप का उपयोग करने की अनुमति देगा। क्या इस व्यवहार की नकल करने के लिए नए संस्करण के साथ कोई तरीका है, या मुझे पुस्तकालय के पुराने संस्करण का उपयोग करना होगा?
यह पूरी तरह से दिखाता है कि असफलता का उपयोग क्यों बुरा है: यह लगभग हमेशा एक प्रोग्राम अपवाद समाप्त होता है। नक्शे में देखने पर आप जो चाहते हैं वह नहीं। –
ठीक है, मैंने कहा "मोनैड जो असफल लागू करते हैं", है ना? -) 'त्रुटि' अपरिभाषित नहीं है। मैं बस उस मामले को भी स्पष्ट करना चाहता था। व्यक्तिगत रूप से, मैं पैटर्न मिलान का उपयोग करता हूं जब डोनाड भी 'मोनाडप्लस' होता है और 'mzero' के रूप में 'विफल' लागू करता है। वह तब होता है जब यह तकनीक सबसे उपयोगी होती है। – claus