[clean-list] stack overflow while compiling

John van Groningen johnvg at cs.ru.nl
Tue Sep 4 13:08:27 MEST 2007


Peter Hercek wrote:
>Not sure this should be really considered a bug.

It is a bug in the strictness analyser (during the reduction of
the first x in x*x, x is updated with Top, then the analyser tries
to reduce the second x, but it doesn't exist anymore because x*x has
now become Top as well). If haved fixed this.

>I was playing with fixed point operators and noticed this.
>Surprisingly when the let command looks like:
>"let x = x^2 in" then it reports a nicer error:
>"cycle in spine detected"

It now does this too for let x=x*x in x.

>Nice examples work OK though:
>Start = let fact = \x = if (x <= 1) 1 (x * fact (x-1)) in fact 3

Yes, but slower than:

Start = let fact x = if (x <= 1) 1 (x * fact (x-1)) in fact 3

or

Start = let fact x => \x = if (x <= 1) 1 (x * fact (x-1)) in fact 3

Kind regards,

John van Groningen


More information about the clean-list mailing list