Haskell, girdiyi değiştirmeden döndüren bir kimlik işlevine sahiptir. Tanım basit:
id :: a -> a
id x = x
Öyleyse, eğlence için bu çıktı 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
Birkaç saniye sonra (ve Görev Yöneticisine göre yaklaşık 2 gb bellek), ile derleme başarısız olur ghc: out of memory
. Tercüman da benzer şekilde diyor ghci: out of memory
.
Yana id
oldukça basit bir fonksiyondur, bunun çalışma zamanında veya derleme zamanında bir bellek yük olmak istemem. Tüm hafıza ne için kullanılıyor?
id
. VIM olarak, tanımı üzerindeki imleçf
Bunu yapmak::s/id id/id . id ./g
.