हास्केल में एक पहचान फ़ंक्शन होता है जो इनपुट को अपरिवर्तित लौटाता है। परिभाषा सरल है:
id :: a -> a
id x = x
तो मज़े के लिए, यह आउटपुट होना चाहिए 8:
f = id id id id id id id id id id id id id id id id id id id id id id id id id id id
main = print $ f 8
कुछ सेकंड (और टास्क मैनेजर के अनुसार लगभग 2 जीबी मेमोरी) के बाद, संकलन विफल हो जाता है ghc: out of memory। इसी तरह, दुभाषिया कहता है ghci: out of memory।
चूंकि idयह एक बहुत ही सरल कार्य है, इसलिए मैं इसे चलाने के समय या संकलन समय में एक मेमोरी बोझ होने की उम्मीद नहीं करूंगा। सभी मेमोरी किसके लिए उपयोग की जा रही है?
idएस की रचना करना चाहते हैं । VIM में, की परिभाषा पर कर्सर के साथf, यह करें:s/id id/id . id ./g:।