X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FRtClosureInspect.hs;h=b9fd192e9ed76f3f2e28337207cc7ece51be1f40;hb=f0cecc6c982a5761343b6b1f8671bb50cd11145a;hp=4f9588f6db99df5b962ea04490b7fb3fe26a11a9;hpb=30ad291abbe718ff9f96469d8c86be0eee55d50c;p=ghc-hetmet.git diff --git a/compiler/ghci/RtClosureInspect.hs b/compiler/ghci/RtClosureInspect.hs index 4f9588f..b9fd192 100644 --- a/compiler/ghci/RtClosureInspect.hs +++ b/compiler/ghci/RtClosureInspect.hs @@ -587,7 +587,7 @@ cvObtainTerm hsc_env bound force mb_ty hval = runTR hsc_env $ do -- and showing the '_' is more useful. t | isThunk t && force -> seq a $ go (pred bound) tv ty a -- We always follow indirections - Indirection _ -> go (pred bound) tv ty $! (ptrs clos ! 0) + Indirection _ -> go bound tv ty $! (ptrs clos ! 0) -- The interesting case Constr -> do Right dcname <- dataConInfoPtrToName (infoPtr clos) @@ -649,11 +649,11 @@ cvObtainTerm hsc_env bound force mb_ty hval = runTR hsc_env $ do | isPointed ty = ASSERT2(not(null pointed) , ptext SLIT("reOrderTerms") $$ (ppr pointed $$ ppr unpointed)) - head pointed : reOrderTerms (tail pointed) unpointed tys + let (t:tt) = pointed in t : reOrderTerms tt unpointed tys | otherwise = ASSERT2(not(null unpointed) , ptext SLIT("reOrderTerms") $$ (ppr pointed $$ ppr unpointed)) - head unpointed : reOrderTerms pointed (tail unpointed) tys + let (t:tt) = unpointed in t : reOrderTerms pointed tt tys expandNewtypes t@Term{ ty=ty, subTerms=tt } | Just (tc, args) <- splitNewTyConApp_maybe ty