मैं रियल वर्ल्ड हास्केल (अध्याय 14) में मोनाड्स अध्याय पढ़ रहा हूं।मोनाडस्टेट का कारण मिलता है और डाल दिया जाता है?
type RandomState a = State StdGen a
getRandom :: Random a => RandomState a
getRandom =
get >>= \gen ->
let (val, gen')= random gen in
put gen' >>
return val
मैं वास्तव में प्राप्त करने के उद्देश्य को समझने और कार्यों को यहाँ रखा नहीं है: एक समारोह defined इस प्रकार है।
getRandom2 :: Random a => RandomState a
getRandom2= State $ \ s -> random s
तो मेरे सवाल है: क्या की हो और सामान्य में डाल उद्देश्य है मैं जो और एक ही बात कर रहा है अधिक संक्षिप्त है निम्नलिखित के रूप में कार्य दुबारा लिखा?
बस इस मामले में, या सामान्य रूप से 'get' और' put' का उद्देश्य? बाद के मामले में उनके उपयोग को आसानी से समझाया जा सकता है ... – kennytm
सामान्य रूप से; मैं अपना प्रश्न संपादित करूंगा। – CiscoIPPhone