X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FGhciMonad.hs;h=4e8e65f257e217f6ccd039fca7526474385f63e0;hb=d2b3daa3cc474e6ab010fb6af5c21ddb852b8b5b;hp=30096ab3be4fa0e7032e2a6ac0d89f80b2ee45d7;hpb=8bbebfe661bdc976965718a2a489515c4929a03f;p=ghc-hetmet.git diff --git a/compiler/ghci/GhciMonad.hs b/compiler/ghci/GhciMonad.hs index 30096ab..4e8e65f 100644 --- a/compiler/ghci/GhciMonad.hs +++ b/compiler/ghci/GhciMonad.hs @@ -46,6 +46,8 @@ import GHC.Exts ----------------------------------------------------------------------------- -- GHCi monad +type Command = (String, String -> GHCi Bool, Bool, String -> IO [String]) + data GHCiState = GHCiState { progname :: String, @@ -62,7 +64,13 @@ data GHCiState = GHCiState -- tickarrays caches the TickArray for loaded modules, -- so that we don't rebuild it each time the user sets -- a breakpoint. - cmdqueue :: [String] + -- ":" at the GHCi prompt repeats the last command, so we + -- remember is here: + last_command :: Maybe Command, + cmdqueue :: [String], + remembered_ctx :: Maybe ([Module],[Module]) + -- modules we want to add to the context, but can't + -- because they currently have errors. Set by :reload. } type TickArray = Array Int [(BreakIndex,SrcSpan)]