GHCi, version 6.10.1 crashes without message

Simon Marlow marlowsd at gmail.com
Wed Jan 14 08:04:17 EST 2009


Heiko Studt wrote:
> PPS: Why does your mailinglist not set the Reply-To header?
> @Roman Cheplyaka: Sorry for double mailing.
> 
> Am 13.01.2009 schrieb Roman Cheplyaka:
> 
>>> | f x y z = a + b*c + b + fun c 
>>> |   where a = x * y + z
>>> |         b = c * fun x
>>> |         c = a * b
>>> |         fun x = x * x + 1
>>>
>>> The query to die was "f 1 2 3".
> 
>> Your program loops for the following reason:
>> to compute f, you need to compute c
>> to compute c, you need to compute b
>> to compute b, you need to compute c again!
> 
>> Haskell cannot solve equations (or, at least, not formulated in this
>> way), so it understands definition of f as the rules to compute things
>> like a, b, c. No wonder evaluation of f never terminates.
> 
> The problem is not it does not terminate. It terminates. GHCi terminates
> inclusivly (maybe by simpathy? ;-)). As Chris Smith wrote it faults the
> stack.
> 
> I tried to get the thing some smaller and therefor to the point, 
> I should have done this before I assume:
> 
> | let f = c where {c = c}
> 
> at "f",
> 
> | let f = f in f
> 
> kills GHCi immidiatelly.
> 
> | let f 0 = f 0 in f 0
> 
> simply does not terminate (as it should be).

See

http://hackage.haskell.org/trac/ghc/ticket/2783

and

http://hackage.haskell.org/trac/ghc/ticket/2786

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list