2016-01-25 22 views
45

क्या आप साबित कर सकते हैं कि return a = return b तो a=b? जब मैं = का उपयोग करता हूं, तो मेरा मतलब कानूनों और प्रमाणों में है, Eq वर्ग की भावना नहीं।अगर एक = वापसी बी वापस आती है तो एक = बी करता है?

हर इकाई है कि मैं जानता हूँ कि यह संतुष्ट करने लगता है, और मैं एक मान्य इकाई नहीं होगा कि नहीं सोच सकते हैं (Const a एक functor और अनुप्रयोगी, लेकिन नहीं एक इकाई है।)

उत्तर

64

संख्या पर विचार करें तुच्छ मोनाड:

data Trivial a = Cow 

instance Monad Trivial where 
    _ >>= _ = Cow 
    return _ = Cow 
+18

... बेहतर 'कॉन्स्ट() 'के रूप में जाना जाता है। – leftaroundabout

+52

मैं हास्केल कार्यक्रम में 'गाय' लिखने का अवसर क्यों पास करूंगा? –

+5

वास्तव में क्यों ... बिंदु ले लिया। – leftaroundabout

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