summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPepe Iborra <mnislaih@gmail.com>2007-04-30 18:45:22 +0000
committerPepe Iborra <mnislaih@gmail.com>2007-04-30 18:45:22 +0000
commit182edd420fe8d5ec0d12fcabaec7d13416a77cd6 (patch)
treeaabcb6a31d71d1c476dfc7fb8b1cdf58a3e1e18b
parentee03fe2fd35cdb33cf8b586691ab0da6d1b92153 (diff)
downloadhaskell-182edd420fe8d5ec0d12fcabaec7d13416a77cd6.tar.gz
Remove skolem tyvars from the InteractiveContext once they have been instantiated by :print
-rw-r--r--compiler/ghci/Debugger.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/ghci/Debugger.hs b/compiler/ghci/Debugger.hs
index a56b27b876..4e610685eb 100644
--- a/compiler/ghci/Debugger.hs
+++ b/compiler/ghci/Debugger.hs
@@ -99,7 +99,11 @@ pprintClosureCommand session bindThings force str = do
ids = typeEnvIds type_env
ids' = map (\id -> id `setIdType` substTy subst (idType id)) ids
type_env'= extendTypeEnvWithIds type_env ids'
- ictxt' = ictxt { ic_type_env = type_env' }
+ subst_dom= varEnvKeys$ getTvSubstEnv subst
+ ictxt' = ictxt { ic_type_env = type_env'
+ , ic_tyvars = foldl' delVarSetByKey
+ (ic_tyvars ictxt)
+ subst_dom }
writeIORef ref (hsc_env {hsc_IC = ictxt'})
tidyTermTyVars :: Session -> Term -> IO Term