From: Ian Lynagh Date: Mon, 18 Jun 2007 10:28:50 +0000 (+0000) Subject: More debugger output order consistency X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=cfb0b1f9cf57970dda4b4b16c9b11326a368c85f More debugger output order consistency --- diff --git a/compiler/ghci/InteractiveUI.hs b/compiler/ghci/InteractiveUI.hs index 4494f22..4c81bf4 100644 --- a/compiler/ghci/InteractiveUI.hs +++ b/compiler/ghci/InteractiveUI.hs @@ -611,9 +611,11 @@ runBreakCmd info = do printTypeOfNames :: Session -> [Name] -> GHCi () printTypeOfNames session names - = mapM_ (printTypeOfName session) $ sortBy compareFun names + = mapM_ (printTypeOfName session) $ sortBy compareNames names + +compareNames :: Name -> Name -> Ordering +n1 `compareNames` n2 = compareWith n1 `compare` compareWith n2 where compareWith n = (getOccString n, getSrcSpan n) - compareFun n1 n2 = compareWith n1 `compare` compareWith n2 printTypeOfName :: Session -> Name -> GHCi () printTypeOfName session n @@ -1258,9 +1260,12 @@ showBindings = do s <- getSession unqual <- io (GHC.getPrintUnqual s) bindings <- io (GHC.getBindings s) - mapM_ printTyThing bindings + mapM_ printTyThing $ sortBy compareTyThings bindings return () +compareTyThings :: TyThing -> TyThing -> Ordering +t1 `compareTyThings` t2 = getName t1 `compareNames` getName t2 + printTyThing :: TyThing -> GHCi () printTyThing (AnId id) = do ty' <- cleanType (GHC.idType id)