#2845: break018 skips a step
-------------------------------+--------------------------------------------
Reporter: igloo | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 6.12 branch
Component: GHCi | Version: 6.11
Severity: normal | Keywords:
Difficulty: Unknown | Testcase: break018
Os: Unknown/Multiple | Architecture: Unknown/Multiple
-------------------------------+--------------------------------------------
The `break018` test is failing:
{{{
@@ -1,13 +1,11 @@
Stopped at ../mdo.hs:(29,0)-(31,26)
-_result :: IO (N a) = _
-Stopped at ../mdo.hs:(29,15)-(31,26)
-_result :: IO (N Char) = _
-x :: Char = 'h'
-xs :: [Char] = _
+_result :: (# GHC.Prim.State# GHC.Prim.RealWorld, N a #) = _
Stopped at ../mdo.hs:29:29-41
_result :: IO (N Char) = _
f :: N Char = _
l :: N Char = _
x :: Char = 'h'
Stopped at ../mdo.hs:(7,0)-(8,41)
-_result :: IO (N a) = _
+_result :: (# GHC.Prim.State# GHC.Prim.RealWorld, N a #) = _
+Stopped at ../mdo.hs:7:25-38
+_result :: IO (IORef Bool) = _
*** unexpected failure for break018(ghci)
}}}
What's happening here is that as we `:st` through the evaluation we aren't
stopping at the `mdo` expression any more; we go straight from the entire
`l2dll` to the `newNode` expression:
{{{
l2dll :: [a] -> IO (N a)
l2dll (x:xs) = mdo c <- newNode l x f
(f, l) <- l2dll' c xs
return c
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2845>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs