Haskell memiliki fungsi identitas yang mengembalikan masukan tanpa perubahan. Definisinya sederhana:
id :: a -> a
id x = x
Jadi untuk bersenang-senang, ini harus menghasilkan 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
Setelah beberapa detik (dan sekitar 2 gb memori menurut Pengelola Tugas), kompilasi gagal dengan ghc: out of memory. Demikian kata penerjemah ghci: out of memory.
Karena idini adalah fungsi yang cukup sederhana, saya tidak akan mengharapkannya menjadi beban memori pada saat menjalankan atau waktu kompilasi. Untuk apa semua memori digunakan?
ids itu. Dalam VIM, dengan kursor pada definisif, lakukan ini::s/id id/id . id ./g.