GHC panic/loop (mdo)
Iavor Diatchki
iavor.diatchki at gmail.com
Thu Dec 23 14:19:17 EST 2004
Hello,
the following program makes GHC 6.2.2 loop forever (testLoop) or panic
(testPanic).
I tried to derive small examples that illustrate the problem.
The problem seems to be related to the use of 'mdo', and it looks like it is
important that the expressoin 'f x' is repeated.
> import Control.Monad.Fix
> main :: IO ()
> main = return ()
This makes the compiler loop.
< testLoop _ = mdo x <- mapM undefined (f x)
< let f _ = []
< return (f x)
This makes the compiler panic.
> testPanic _ = mdo x <- f x
> let f _ = return ()
> f x
Hope this helps
Iavor
More information about the Glasgow-haskell-bugs
mailing list