Excellent point. A genuine bug in 6.2, I fear. I've fixed the HEAD, and added a test (mdo006)
Thanks for boiling this down, Iavor. Simon | -----Original Message----- | From: [EMAIL PROTECTED] [mailto:glasgow-haskell-bugs- | [EMAIL PROTECTED] On Behalf Of Iavor Diatchki | Sent: 23 December 2004 19:19 | To: [email protected] | Subject: GHC panic/loop (mdo) | | 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 | _______________________________________________ | Glasgow-haskell-bugs mailing list | [email protected] | http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs _______________________________________________ Glasgow-haskell-bugs mailing list [email protected] http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
