Haskell tiene una función de identidad que devuelve la entrada sin cambios. La definición es simple:
id :: a -> a
id x = x
Entonces, para divertirse, esto debería generar 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
Después de unos segundos (y aproximadamente 2 gb de memoria según el Administrador de tareas), la compilación falla con ghc: out of memory. Del mismo modo, dice el intérprete ghci: out of memory.
Dado que ides una función bastante simple, no esperaría que sea una carga de memoria en tiempo de ejecución o tiempo de compilación. ¿Para qué se utiliza toda la memoria?
ids. En VIM, con el cursor en la definición def, hacer esto::s/id id/id . id ./g.