GHC panic/loop (mdo)
Simon Peyton-Jones
simonpj at microsoft.com
Tue Jan 4 11:28:18 EST 2005
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: glasgow-haskell-bugs-bounces at haskell.org
[mailto:glasgow-haskell-bugs-
| bounces at haskell.org] On Behalf Of Iavor Diatchki
| Sent: 23 December 2004 19:19
| To: glasgow-haskell-bugs at haskell.org
| 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
| Glasgow-haskell-bugs at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
More information about the Glasgow-haskell-bugs
mailing list