[Haskell-cafe] Type systems preventing laziness-related memory leaks?
ekirpichov at gmail.com
Wed Feb 18 05:04:40 UTC 2015
Let me repost here a question I posted to cstheory stackexchange - in hopes
that there are more type theory experts here.
Perhaps the main source of performance problems in Haskell is when a
program inadvertently builds up a thunk of unbounded depth - this causes
both a memory leak and a potential stack overflow when evaluating. The
classic example is defining sum = foldr (+) 0 in Haskell.
Are there any type systems which statically enforce lack of such thunks in
a program using a lazy language?
Seems like this should be on the same order of difficulty as proving other
static program properties using type system extensions, e.g. some flavors
of thread safety or memory safety.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe