[Haskell-cafe] Re: A suggestion for the next high profile Haskell project [Was: Re: What is a hacker?]

Seth Gordon sethg at ropine.com
Tue Dec 19 15:19:17 EST 2006


Joachim Durchholz wrote:
>> Trying to fully evaluate an infinite data structure will result in
>> looping or memory exhaustion, and you have that possibilities in almost
>> all languages.
> 
> Yes, but I suspect that Haskell makes it easier to make that kind of bug.
> Worse, it's easy to introduce this kind of bug: just pass a list
> returned from function a to function b, not being aware that a may
> return an infinite list and that b may do something with it that
> requires that it's evaluated. In other words, this kind of bug can come
> into existence during code integration... and the type system doesn't
> warn you when you do it.

If you're worrying about some unexpected input causing a function never
to terminate, don't you also have to worry about some unexpected input
causing a function to become so glacially slow that from the user's
perspective, it *might as well* never terminate?


More information about the Haskell-Cafe mailing list