-----------------------------------------------------------------------------
--- $Id: InteractiveUI.hs,v 1.26 2001/01/16 17:09:43 sewardj Exp $
+-- $Id: InteractiveUI.hs,v 1.28 2001/01/18 12:54:16 simonmar Exp $
--
-- GHC Interactive User Interface
--
= do expr_expanded <- expandExpr expr
-- io (putStrLn ( "Before: " ++ expr ++ "\nAfter: " ++ expr_expanded))
expr_ok <- timeIt (do ok <- evalExpr expr_expanded
- when ok (evalExpr "PrelIO.putChar \'\\n\'" >> return ())
+ when ok (evalExpr "PrelHandle.hFlush PrelHandle.stdout" >> return ())
+ when ok (evalExpr "PrelHandle.hFlush PrelHandle.stderr" >> return ())
return ok)
when expr_ok (rememberExpr expr_expanded)
return False
typeOfExpr str
= do st <- getGHCiState
dflags <- io (getDynFlags)
- (st, maybe_ty) <- io (cmGetExpr (cmstate st) dflags
+ (new_cmstate, maybe_ty) <- io (cmGetExpr (cmstate st) dflags
(current_module st) str False)
+ setGHCiState st{cmstate = new_cmstate}
case maybe_ty of
Nothing -> return ()
Just (_, unqual, ty) -> io (printForUser stdout unqual (ppr ty))