[clean-list] Compiler dying with message `dart' when fusion turned on

John van Groningen johnvg at cs.ru.nl
Mon Oct 12 17:31:56 MEST 2009


Vag wrote:
>Compiler dying with very strange message `drat' on black screen when fusion turned on:
>
>..

This happens beacuse of a bug in the fusion algorithm in the compiler.
The problem may occur if a recursive function with more than one
recursive call (in this case indexBy) is fused with a case
(| indexBy s i == indexBy u j).
If have fixed this in the development version of the compiler.

A possible workaroud is to replace:

       | indexBy s i == indexBy u j = search s (i0 + 1) u 0

by:

       #! si = indexBy s i
       #! ui = indexBy u j
       | si == ui = search s (i0 + 1) u 0

Kind regards,

John van Groningen


More information about the clean-list mailing list