Commit 7ac266d0 authored by mnislaih's avatar mnislaih
Browse files

Add new skolem tyvars to the InteractiveContext after type reconstruction

This was being done already for each binding added by :print,
but :sprint does not add any new binding, so we take care of it 
parent f8c30102
......@@ -100,12 +100,17 @@ pprintClosureCommand session bindThings force str = do
ids' = map (\id -> id `setIdType` substTy subst (idType id)) ids
type_env'= extendTypeEnvWithIds type_env ids'
subst_dom= varEnvKeys$ getTvSubstEnv subst
subst_ran= varEnvElts$ getTvSubstEnv subst
new_tvs = [ tv | t <- subst_ran, let Just tv = getTyVar_maybe t]
ic_tyvars'= (`delVarSetListByKey` subst_dom)
. (`extendVarSetList` new_tvs)
$ ic_tyvars ictxt
ictxt' = ictxt { ic_type_env = type_env'
, ic_tyvars = foldl' delVarSetByKey
(ic_tyvars ictxt)
subst_dom }
, ic_tyvars = ic_tyvars' }
writeIORef ref (hsc_env {hsc_IC = ictxt'})
where delVarSetListByKey = foldl' delVarSetByKey
tidyTermTyVars :: Session -> Term -> IO Term
tidyTermTyVars (Session ref) t = do
hsc_env <- readIORef ref
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment