From 4c178374983dddb75341352aef1d15658a82463b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9cate?= Date: Wed, 23 Dec 2020 17:11:52 +0100 Subject: Upstream the strictness optimisation for GHC.List.{maximum,minimum} --- libraries/base/GHC/List.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/base/GHC/List.hs b/libraries/base/GHC/List.hs index 4146b68319..cd7ffc6637 100644 --- a/libraries/base/GHC/List.hs +++ b/libraries/base/GHC/List.hs @@ -614,7 +614,7 @@ scanr1 f (x:xs) = f x q : qs maximum :: (Ord a) => [a] -> a {-# INLINABLE maximum #-} maximum [] = errorEmptyList "maximum" -maximum xs = foldl1 max xs +maximum xs = foldl1' max xs -- We want this to be specialized so that with a strict max function, GHC -- produces good code. Note that to see if this is happending, one has to @@ -638,7 +638,7 @@ maximum xs = foldl1 max xs minimum :: (Ord a) => [a] -> a {-# INLINABLE minimum #-} minimum [] = errorEmptyList "minimum" -minimum xs = foldl1 min xs +minimum xs = foldl1' min xs {-# SPECIALIZE minimum :: [Int] -> Int #-} {-# SPECIALIZE minimum :: [Integer] -> Integer #-} -- cgit v1.2.1