मैं अभी भी हास्केल का पता लगाना शुरू कर रहा हूं। मुझे पता है कि यह कोड IO
मोनड में "चलाता है"। जब यह l <- ...
लाइन से अगले तक जाता है, तो IO - bind
कहा जाता है।यह आलसी क्यों नहीं है
कोई ऐसा सोच सकता है क्योंकि हास्केल आलसी है, l
का मूल्यांकन कभी नहीं किया जाता है। लेकिन "bind
" हमेशा पिछले कमांड का मूल्यांकन करता है, क्या यह सही है? क्योंकि प्रोग्राम "फ़ाइल-नहीं-मिली" त्रुटि उत्पन्न करता है।
main = do
l <- mapM readFile [ "/tmp/notfound" ]
return()
'एल का मूल्यांकन कभी नहीं किया गया है - एचएम? आलसी का मतलब "कभी नहीं" है, इसका मतलब है "अभी तक नहीं" या "केवल जब इसकी आवश्यकता होती है।" –
@RobertHarvey हां, लेकिन गैर-हास्केलर्स के लिए, स्रोत कोड को देखते हुए, 'l' अब और उपयोग नहीं किया जाता है। लेकिन इसका इस्तेमाल पूरी तरह से किया जाता है, है ना? – Cartesius00