पूर्ण आलस्य repeatedly demonstrated किया गया है cause space leaks करने के लिए।पूर्ण आलस्य क्यों एक डिफ़ॉल्ट अनुकूलन है?
-O
से आगे आलसी क्यों है? मैं खुद को एसपीजे के The Implementation of Functional Programming Languages में तर्क से असहज महसूस करता हूं। दावा है कि में
f = \y -> y + sqrt 4
sqrt 4
अनावश्यक रूप से हर बार f
दर्ज किया गया है दोहराया है तो हम लैम्ब्डा के बाहर उसमें बदलाव करना चाहिए। मैं छोटे से सहमत हूं, लेकिन चूंकि हमने देखा है कि इस परिवर्तन में बड़ी समस्याएं क्या हैं, मुझे विश्वास नहीं है कि यह इसके लायक है। ऐसा लगता है कि इस परिवर्तन के लाभ एकतरफा रूप से उपलब्ध हैं ** केवल स्थानीय कोड परिवर्तन और प्रोग्रामर जो इसे चाहते हैं इसे हाथ से लागू करना चाहिए।
क्या आप मुझे अन्यथा मनाने के लिए कर सकते हैं? full-laziness
वास्तव में वास्तव में उपयोगी है? मुझे विशेष रूप से आश्वस्त किया जाएगा यदि आप हाथों को लागू करने के लिए उदाहरण प्रदान कर सकते हैं जो बहुपक्षीय सहयोग या गैर-स्थानीय परिवर्तनों की आवश्यकता है।
** बदलता है
'पूर्ण आलस्य' ट्रांसफॉर्मेशन में वास्तव में मूल्यांकन आदेश के साथ कुछ भी नहीं है। उदाहरण के लिए –