A data structure which grows bigger, or lives longer, than might be expected.Such unexpected memory use can cause a program to require more garbage collections or to run out of heap.Space leaks in functional programs usually result from excessive laziness.For example, the Haskell functionsum [] = 0 sum (x:xs) = x + sum xswhen applied to a list will build a chain of closures for the additions and only when it reaches the end of the list will it perform the additions and free the storage.Another example is the functionmean l = sum l / length lThe sum function forces the entire list l to be evaluated and built in the heap.None of it can be garbage collected until the length function has consumed it.