X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FList.lhs;h=ff8593ca4266fef71dd37a9046ce879bdd06513c;hb=8bb6db3e726aa1eeb6d512bfb5165f9f9f92210c;hp=cb8f0eb4008ca2f1aea0423e7a4b55508a4f15f9;hpb=7bd1a6a2d6ba6acfa19ffe46cb535f0ce427dc86;p=ghc-base.git diff --git a/GHC/List.lhs b/GHC/List.lhs index cb8f0eb..ff8593c 100644 --- a/GHC/List.lhs +++ b/GHC/List.lhs @@ -1,6 +1,7 @@ \begin{code} -{-# OPTIONS_GHC -XNoImplicitPrelude #-} +{-# LANGUAGE CPP, NoImplicitPrelude, MagicHash #-} {-# OPTIONS_HADDOCK hide #-} + ----------------------------------------------------------------------------- -- | -- Module : GHC.List @@ -108,7 +109,7 @@ null :: [a] -> Bool null [] = True null (_:_) = False --- | 'length' returns the length of a finite list as an 'Int'. +-- | /O(n)/. 'length' returns the length of a finite list as an 'Int'. -- It is an instance of the more general 'Data.List.genericLength', -- the result type of which may be any kind of number. length :: [a] -> Int @@ -503,11 +504,15 @@ or (x:xs) = x || or xs #endif -- | Applied to a predicate and a list, 'any' determines if any element --- of the list satisfies the predicate. +-- of the list satisfies the predicate. For the result to be +-- 'False', the list must be finite; 'True', however, results from a 'True' +-- value for the predicate applied to an element at a finite index of a finite or infinite list. any :: (a -> Bool) -> [a] -> Bool -- | Applied to a predicate and a list, 'all' determines if all elements --- of the list satisfy the predicate. +-- of the list satisfy the predicate. For the result to be +-- 'True', the list must be finite; 'False', however, results from a 'False' +-- value for the predicate applied to an element at a finite index of a finite or infinite list. all :: (a -> Bool) -> [a] -> Bool #ifdef USE_REPORT_PRELUDE any p = or . map p @@ -527,7 +532,8 @@ all p (x:xs) = p x && all p xs #endif -- | 'elem' is the list membership predicate, usually written in infix form, --- e.g., @x \`elem\` xs@. +-- e.g., @x \`elem\` xs@. For the result to be +-- 'False', the list must be finite; 'True', however, results from an element equal to @x@ found at a finite index of a finite or infinite list. elem :: (Eq a) => a -> [a] -> Bool -- | 'notElem' is the negation of 'elem'.