Haskell has an identity function which returns the input unchanged. The definition is simple:

id :: a -> a id x = x

So for fun, this should output 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

After a few seconds (and about 2 gb of memory according to Task Manager), compilation fails with ghc: out of memory . Similarly, the interpreter says ghci: out of memory .