[move some more list routines into Jhc.List
John Meacham <john@repetae.net>**20090821053736
 Ignore-this: 8b7b779d59abf1c1e5a63eb9c2fdefbc
] hunk ./lib/jhc/Jhc/List.hs 197
+
+
+foldl1           :: (a -> a -> a) -> [a] -> a
+foldl1 f (x:xs)  =  foldl f x xs
+foldl1 _ []      =  error "Prelude.foldl1: empty list"
+
+
+
+scanl1           :: (a -> a -> a) -> [a] -> [a]
+scanl1 f (x:xs)  =  scanl f x xs
+scanl1 _ []      =  []
+
+foldr1           :: (a -> a -> a) -> [a] -> a
+foldr1 f [x]     =  x
+foldr1 f (x:xs)  =  f x (foldr1 f xs)
+foldr1 _ []      =  error "Prelude.foldr1: empty list"
+
+scanr             :: (a -> b -> b) -> b -> [a] -> [b]
+scanr f q0 []     =  [q0]
+scanr f q0 (x:xs) =  f x q : qs where qs@(q:_) = scanr f q0 xs
+
+
+scanr1          :: (a -> a -> a) -> [a] -> [a]
+scanr1 f []     =  []
+scanr1 f [x]    =  [x]
+scanr1 f (x:xs) =  f x q : qs where qs@(q:_) = scanr1 f xs
+
hunk ./lib/jhc/Prelude.hs 57
+    foldl1,scanl1,foldr1,scanr,scanr1,
hunk ./lib/jhc/Prelude.hs 187
-foldl1           :: (a -> a -> a) -> [a] -> a
-foldl1 f (x:xs)  =  foldl f x xs
-foldl1 _ []      =  error "Prelude.foldl1: empty list"
hunk ./lib/jhc/Prelude.hs 190
-scanl1           :: (a -> a -> a) -> [a] -> [a]
-scanl1 f (x:xs)  =  scanl f x xs
-scanl1 _ []      =  []
-
--- foldr, foldr1, scanr, and scanr1 are the right-to-left duals of the
--- above functions.
-
-
---foldr :: (a -> b -> b) -> b -> [a] -> b
---foldr k z [] = z
---foldr k z (x:xs) = k x (foldr k z xs)
-
-
-foldr1           :: (a -> a -> a) -> [a] -> a
-foldr1 f [x]     =  x
-foldr1 f (x:xs)  =  f x (foldr1 f xs)
-foldr1 _ []      =  error "Prelude.foldr1: empty list"
-
-
-scanr             :: (a -> b -> b) -> b -> [a] -> [b]
-scanr f q0 []     =  [q0]
-scanr f q0 (x:xs) =  f x q : qs where qs@(q:_) = scanr f q0 xs
-
-
-scanr1          :: (a -> a -> a) -> [a] -> [a]
-scanr1 f []     =  []
-scanr1 f [x]    =  [x]
-scanr1 f (x:xs) =  f x q : qs where qs@(q:_) = scanr1 f xs
-