X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FInteractiveUI.hs;h=4c81bf4323f17fa0d275a6c947b301e3d98ebfe8;hb=bf3339dd17b16dcc13212cd016a7c44a58183336;hp=4494f229e22661d45a5ba619d3b9c03077cb6906;hpb=6a13ee14f604f5ab0178b326c24590402ee66615;p=ghc-hetmet.git 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)