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