From d7d871d674ee73c100ce5ab89ada80be2563ef79 Mon Sep 17 00:00:00 2001 From: Bertram Felgenhauer Date: Wed, 21 Nov 2007 10:14:58 +0000 Subject: [PATCH 1/1] Data.List.sort: force elements from start to end. this prevents a stack overflow on sort (take 10^6 [1..]) --- Data/List.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Data/List.hs b/Data/List.hs index 1c52b50..19dbc7d 100644 --- a/Data/List.hs +++ b/Data/List.hs @@ -807,8 +807,8 @@ merge_pairs cmp [xs] = [xs] merge_pairs cmp (xs:ys:xss) = merge cmp xs ys : merge_pairs cmp xss merge :: (a -> a -> Ordering) -> [a] -> [a] -> [a] -merge cmp xs [] = xs merge cmp [] ys = ys +merge cmp xs [] = xs merge cmp (x:xs) (y:ys) = case x `cmp` y of GT -> y : merge cmp (x:xs) ys -- 1.7.10.4