Inline maximum/minium a bit more aggresively
authorJoachim Breitner <breitner@kit.edu>
Wed, 29 Jan 2014 16:29:53 +0000 (17:29 +0100)
committerJoachim Breitner <mail@joachim-breitner.de>
Mon, 10 Feb 2014 10:45:46 +0000 (10:45 +0000)
in order to allow fusion of the foldr in the foldl in the foldl' therein.

Data/List.hs

index 4796055..09aed9d 100644 (file)
@@ -519,7 +519,7 @@ insertBy cmp x ys@(y:ys')
 -- It is a special case of 'Data.List.maximumBy', which allows the
 -- programmer to supply their own comparison function.
 maximum                 :: (Ord a) => [a] -> a
-{-# NOINLINE [1] maximum #-}
+{-# INLINE [1] maximum #-}
 maximum []              =  errorEmptyList "maximum"
 maximum xs              =  foldl1 max xs
 
@@ -540,7 +540,7 @@ strictMaximum xs        =  foldl1' max xs
 -- It is a special case of 'Data.List.minimumBy', which allows the
 -- programmer to supply their own comparison function.
 minimum                 :: (Ord a) => [a] -> a
-{-# NOINLINE [1] minimum #-}
+{-# INLINE [1] minimum #-}
 minimum []              =  errorEmptyList "minimum"
 minimum xs              =  foldl1 min xs