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

Reply via email to