diff options
| author | Niklas Haas <git@nand.wakku.to> | 2014-02-13 22:21:36 +0100 | 
|---|---|---|
| committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-02-13 21:53:32 +0000 | 
| commit | d86f68860c40d45d2cec94edd15d4bf4fc4292d8 (patch) | |
| tree | f7a0f3a20e5fe13c796b16b7d07c8c5673a8e119 /src/Haddock | |
| parent | 7e53f628440169f90cfb6aeeaf74ffbe2b1cfa6d (diff) | |
Get rid of re-implementation of sortBy
I have no idea what this was doing lying around here, and due to the
usage of tuples it's actually slower, too.
Signed-off-by: Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
Diffstat (limited to 'src/Haddock')
| -rw-r--r-- | src/Haddock/Interface/AttachInstances.hs | 10 | 
1 files changed, 3 insertions, 7 deletions
| diff --git a/src/Haddock/Interface/AttachInstances.hs b/src/Haddock/Interface/AttachInstances.hs index a56759a5..8c9d45c4 100644 --- a/src/Haddock/Interface/AttachInstances.hs +++ b/src/Haddock/Interface/AttachInstances.hs @@ -19,6 +19,7 @@ import Haddock.Convert  import Control.Arrow  import Data.List +import Data.Ord (comparing)  import qualified Data.Map as Map  import qualified Data.Set as Set @@ -67,12 +68,12 @@ attachToExportItem expInfo iface ifaceMap instIfaceMap export =                  case mb_info of                    Just (_, _, cls_instances, fam_instances) ->                      let fam_insts = [ (synifyFamInst i, n) -                                    | i <- sortImage instFam fam_instances +                                    | i <- sortBy (comparing instFam) fam_instances                                      , let n = lookupInstDoc (getName i) iface ifaceMap instIfaceMap                                      ]                          cls_insts = [ (synifyInstHead i, lookupInstDoc n iface ifaceMap instIfaceMap)                                      | let is = [ (instanceHead' i, getName i) | i <- cls_instances ] -                                    , (i@(_,_,cls,tys), n) <- sortImage (first instHead) is +                                    , (i@(_,_,cls,tys), n) <- sortBy (comparing $ first instHead) is                                      , not $ isInstanceHidden expInfo cls tys                                      ]                      in cls_insts ++ fam_insts @@ -163,11 +164,6 @@ instFam :: FamInst -> ([Int], Name, [SimpleType], Int, SimpleType)  instFam FamInst { fi_fam = n, fi_tys = ts, fi_rhs = t }    = (map argCount ts, n, map simplify ts, argCount t, simplify t) --- sortImage f = sortBy (\x y -> compare (f x) (f y)) -sortImage :: Ord b => (a -> b) -> [a] -> [a] -sortImage f xs = map snd $ sortBy cmp_fst [(f x, x) | x <- xs] - where cmp_fst (x,_) (y,_) = compare x y -  funTyConName :: Name  funTyConName = mkWiredInName gHC_PRIM | 
