#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

Reply via email to