projects
/
ghc-base.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fc7a22d
)
Data.List.sort: force elements from start to end.
author
Bertram Felgenhauer
<int-e@gmx.de>
Wed, 21 Nov 2007 10:14:58 +0000
(10:14 +0000)
committer
Bertram Felgenhauer
<int-e@gmx.de>
Wed, 21 Nov 2007 10:14:58 +0000
(10:14 +0000)
this prevents a stack overflow on sort (take 10^6 [1..])
Data/List.hs
patch
|
blob
|
history
diff --git
a/Data/List.hs
b/Data/List.hs
index
1c52b50
..
19dbc7d
100644
(file)
--- 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