module Data.List
(
- [] (..),
-
- , elemIndex -- :: (Eq a) => a -> [a] -> Maybe Int
+ elemIndex -- :: (Eq a) => a -> [a] -> Maybe Int
, elemIndices -- :: (Eq a) => a -> [a] -> [Int]
, find -- :: (a -> Bool) -> [a] -> Maybe a
merge cmp [] ys = ys
merge cmp (x:xs) (y:ys)
= case x `cmp` y of
- LT -> x : merge cmp xs (y:ys)
- _ -> y : merge cmp (x:xs) ys
+ GT -> y : merge cmp (x:xs) ys
+ _ -> x : merge cmp xs (y:ys)
wrap :: a -> [a]
wrap x = [x]
foldl' f a [] = a
foldl' f a (x:xs) = let a' = f a x in a' `seq` foldl' f a' xs
+#ifndef __HUGS__
-- -----------------------------------------------------------------------------
-- List sum and product
prod [] a = a
prod (x:xs) a = prod xs (a*x)
#endif
+#endif /* __HUGS__ */