X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FLinker.lhs;h=8ff654e2a5307d901b0343b1981bf76334d473e8;hb=f3109bb191b65c9c34bfaeb9d4b4e750f5b65ace;hp=640fc9d696c019a51239060804b0d4fbb69c2bec;hpb=2c92736ea5a4aedf263a77d58c6e9b032a05b7ef;p=ghc-hetmet.git diff --git a/compiler/ghci/Linker.lhs b/compiler/ghci/Linker.lhs index 640fc9d..8ff654e 100644 --- a/compiler/ghci/Linker.lhs +++ b/compiler/ghci/Linker.lhs @@ -202,7 +202,9 @@ recoverDCInRTS a = do getHValue :: Name -> IO (Maybe HValue) getHValue name = do pls <- readIORef v_PersistentLinkerState - return$ fmap snd (lookupNameEnv (closure_env pls) name) + case lookupNameEnv (closure_env pls) name of + Just (_,x) -> return$ Just x + _ -> return Nothing withExtendedLinkEnv :: [(Name,HValue)] -> IO a -> IO a withExtendedLinkEnv new_env action @@ -728,7 +730,7 @@ linkSomeBCOs toplevs_only ie ce_in de_in ul_bcos let de_additions = [(address, name) | (address, name) <- zip addresses names , not(address `elemAddressEnv` de_in) ] - de_out = extendAddressEnvList' de_in de_additions + de_out = extendAddressEnvList de_in de_additions return ( ce_out, de_out, hvals) where goForRefs = getRefs []