हास्केल में, भेड़ के बच्चे को डब्ल्यूएचएनएफ में माना जाता है, जबकि अनुपयुक्त उपयोगकर्ता परिभाषित कार्य नहीं होते हैं। इस भेद के पीछे प्रेरणा क्या थी?हास्केल कमजोर हेड सामान्य फॉर्म (डब्ल्यूएचएनएफ) में लैम्ब्डा अबास्ट्रक्शन क्यों मानता है?
उत्तर
अक्सर फ़ंक्शन को जानकारी संलग्न करने के लिए उपयोगी होता है जिसे आप कभी भी फ़ंक्शन का मूल्यांकन करने से पहले गणना करने की आवश्यकता होती है, लेकिन बाद में इन्हें आमंत्रण में साझा किया जा सकता है।
cleverFunction = \x -> simpleCombine x expensiveConstant
where expensiveConstant = ...
simpleCombine x c = ...
ध्यान दें कि हालांकि cleverFunction
एक लैम्ब्डा के रूप में परिभाषित किया गया है, है ना WHNF में where
ब्लॉक ((\l x -> ...) locBindings
के लिए चीनी) की वजह से है।
किसी भी संलग्न गुंजाइश के बिना एक लैम्ब्डा, कोई चर कि पहले मंगलाचरण गणना की जा सकती (चर लैम्ब्डा में एक कॉल के लिए ही मान्य है, और कचरा-एकत्र बाद में कर रहे हैं) है यानी यह वास्तव में सामान्य रूप में पहले से ही है (एनएफ, न सिर्फ डब्ल्यूएचएनएफ)।
यहां तक कि \ x -> (1 + 1 :: इंटीजर) '? – immibis
@immibis ... -? – leftaroundabout
ऐसा लगता है कि लैम्ब्डा को – immibis
- 1. का मूल्यांकन कमजोर हेड सामान्य फार्म
- 2. लैम्ब्डा कैलकुस, सामान्य ऑर्डर, सामान्य फॉर्म,
- 3. jquery तत्व आईडी मानता है? सामान्य व्यवहार?
- 4. क्या हास्केल का 'मूल्यांकन' सामान्य या डब्ल्यूएचएनएफ में कम हो जाता है?
- 5. अबास्ट्रक्शन
- 6. हास्केल: जहां खंड लैम्ब्डा
- 7. संकलक सामान्य लैम्ब्डा
- 8. आईडी सामान्य सूचक क्यों है?
- 9. पायथन: लैम्ब्डा फॉर्म में पास स्टेटमेंट
- 10. रेंज इनपुट हेड मूल्य में क्यों नहीं बदलता है?
- 11. क्यों java.util.Map.get (...) सामान्य नहीं है?
- 12. हास्केल प्राथमिकता: लैम्ब्डा और ऑपरेटर
- 13. लैम्ब्डा कार्यों पर हास्केल गार्ड?
- 14. क्या सी # कंपाइलर लैम्ब्डा अभिव्यक्ति को सार्वजनिक या निजी विधि के रूप में मानता है?
- 15. वसंत कैश अबास्ट्रक्शन
- 16. सी # में वास्तविक प्रकार का लैम्ब्डा क्या है?
- 17. हास्केल इतना बड़ा क्यों है?
- 18. इस लैम्ब्डा अभिव्यक्ति में परम क्यों है?
- 19. SQL सर्वर इस कोड को अनियमित क्यों नहीं मानता है?
- 20. सी प्रीप्रोसेसर एनम वैल्यू को बराबर मानता क्यों है?
- 21. क्या है (लैम्ब्डा लैम्ब्डा लैम्ब्डा)?
- 22. हास्केल में सामान्य प्रोग्रामिंग कैसे करते हैं?
- 23. कमजोर पॉइंटर्स क्यों उपयोगी हैं?
- 24. क्या जावा कैरेक्टर.इस्वाइटस्पेस के प्रयोजनों के लिए व्हाइटस्पेस के रूप में 'सामान्य' स्थान को मानता है?
- 25. पर्ल में, एक कमजोर संदर्भ की प्रतिलिपि क्यों एक सामान्य, मजबूत, संदर्भ बनाते हैं?
- 26. हास्केल में अभिव्यक्ति क्यों फंस गई है?
- 27. तीसरे सामान्य फॉर्म (3 एनएफ) में विघटन
- 28. हास्केल लैम्ब्डा अभिव्यक्तियां और सरल तर्क सूत्र
- 29. लैम्ब्डा अभिव्यक्तियों को लैम्ब्डा अभिव्यक्ति क्यों कहा जाता है?
- 30. हेड रेविजन
ध्यान दें कि उस लिंक किए गए संभावित डुप्लिकेट में कुछ हद तक चर्चा की गई थी, जिसे डब्ल्यूएचएनएफ माना जाता है और जिसे कुछ समय के रूप में माना जाता है, के बीच भेद निश्चित रूप से कम समय में और बिना साइड इफेक्ट्स का मूल्यांकन करेगा * डब्ल्यूएचएनएफ कुछ मनमाने ढंग से निर्णय लेता है। –