Haskell має функцію ідентичності, яка повертає вхід незмінним. Визначення просте:
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.