summaryrefslogtreecommitdiff
path: root/compiler/ghci/Debugger.hs
diff options
context:
space:
mode:
authorPepe Iborra <mnislaih@gmail.com>2007-12-08 19:52:22 +0000
committerPepe Iborra <mnislaih@gmail.com>2007-12-08 19:52:22 +0000
commit463f566a6504f193e4602299be5f2400ca10d21a (patch)
tree50977966984f792b9a791bb5dbd244192cd7139f /compiler/ghci/Debugger.hs
parent19c2956ac20bdfe103ab100ff57d1a2e20cd521f (diff)
downloadhaskell-463f566a6504f193e4602299be5f2400ca10d21a.tar.gz
Refactoring only
Suspensions in the Term datatype used for RTTI always get assigned a Type, so there is no reason to juggle around with a (Maybe Type) anymore.
Diffstat (limited to 'compiler/ghci/Debugger.hs')
-rw-r--r--compiler/ghci/Debugger.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler/ghci/Debugger.hs b/compiler/ghci/Debugger.hs
index c53a7392a3..e13b8a809a 100644
--- a/compiler/ghci/Debugger.hs
+++ b/compiler/ghci/Debugger.hs
@@ -74,13 +74,13 @@ pprintClosureCommand session bindThings force str = do
term_ <- GHC.obtainTerm cms force id
term <- tidyTermTyVars cms term_
term' <- if bindThings &&
- Just False == isUnliftedTypeKind `fmap` termType term
+ False == isUnliftedTypeKind (termType term)
then bindSuspensions cms term
else return term
-- Before leaving, we compare the type obtained to see if it's more specific
-- Then, we extract a substitution,
-- mapping the old tyvars to the reconstructed types.
- let Just reconstructed_type = termType term
+ let reconstructed_type = termType term
subst = unifyRTTI (idType id) (reconstructed_type)
return (term',subst)
@@ -137,11 +137,10 @@ bindSuspensions cms@(Session ref) t = do
(term, names) <- t
return (RefWrap ty term, names)
}
- doSuspension freeNames ct mb_ty hval _name = do
+ doSuspension freeNames ct ty hval _name = do
name <- atomicModifyIORef freeNames (\x->(tail x, head x))
n <- newGrimName name
- let ty' = fromMaybe (error "unexpected") mb_ty
- return (Suspension ct mb_ty hval (Just n), [(n,ty',hval)])
+ return (Suspension ct ty hval (Just n), [(n,ty,hval)])
-- A custom Term printer to enable the use of Show instances