{-# LANGUAGE Trustworthy #-}{-# LANGUAGE NoImplicitPrelude #-}------------------------------------------------------------------------------- |-- Module : Data.List-- Copyright : (c) The University of Glasgow 2001-- License : BSD-style (see the file libraries/base/LICENSE)---- Maintainer : libraries@haskell.org-- Stability : stable-- Portability : portable---- Operations on lists.-------------------------------------------------------------------------------moduleData.List(-- * Basic functions(++) ,head ,last ,tail ,init ,uncons ,null ,length -- * List transformations,map ,reverse ,intersperse ,intercalate ,transpose ,subsequences ,permutations -- * Reducing lists (folds),foldl ,foldl' ,foldl1 ,foldl1' ,foldr ,foldr1 -- ** Special folds,concat ,concatMap ,and ,or ,any ,all ,sum ,product ,maximum ,minimum -- * Building lists-- ** Scans,scanl ,scanl' ,scanl1 ,scanr ,scanr1 -- ** Accumulating maps,mapAccumL ,mapAccumR -- ** Infinite lists,iterate ,iterate' ,repeat ,replicate ,cycle -- ** Unfolding,unfoldr -- * Sublists-- ** Extracting sublists,take ,drop ,splitAt ,takeWhile ,dropWhile ,dropWhileEnd ,span ,break ,stripPrefix ,group ,inits ,tails -- ** Predicates,isPrefixOf ,isSuffixOf ,isInfixOf ,isSubsequenceOf -- * Searching lists-- ** Searching by equality,elem ,notElem ,lookup -- ** Searching with a predicate,find ,filter ,partition -- * Indexing lists-- | These functions treat a list @xs@ as a indexed collection,-- with indices ranging from 0 to @'length' xs - 1@.,(!!) ,elemIndex ,elemIndices ,findIndex ,findIndices -- * Zipping and unzipping lists,zip ,zip3 ,zip4 ,zip5 ,zip6 ,zip7 ,zipWith ,zipWith3 ,zipWith4 ,zipWith5 ,zipWith6 ,zipWith7 ,unzip ,unzip3 ,unzip4 ,unzip5 ,unzip6 ,unzip7 -- * Special lists-- ** Functions on strings,lines ,words ,unlines ,unwords -- ** \"Set\" operations,nub ,delete ,(\\) ,union ,intersect -- ** Ordered lists,sort ,sortOn ,insert -- * Generalized functions-- ** The \"@By@\" operations-- | By convention, overloaded functions have a non-overloaded-- counterpart whose name is suffixed with \`@By@\'.---- It is often convenient to use these functions together with-- 'Data.Function.on', for instance @'sortBy' ('Prelude.compare'-- ``Data.Function.on`` 'Prelude.fst')@.-- *** User-supplied equality (replacing an @Eq@ context)-- | The predicate is assumed to define an equivalence.,nubBy ,deleteBy ,deleteFirstsBy ,unionBy ,intersectBy ,groupBy -- *** User-supplied comparison (replacing an @Ord@ context)-- | The function is assumed to define a total ordering.,sortBy ,insertBy ,maximumBy ,minimumBy -- ** The \"@generic@\" operations-- | The prefix \`@generic@\' indicates an overloaded function that-- is a generalized version of a "Prelude" function.,genericLength ,genericTake ,genericDrop ,genericSplitAt ,genericIndex ,genericReplicate )whereimportData.Foldable importData.Traversable importData.OldList hiding(all ,and ,any ,concat ,concatMap ,elem ,find ,foldl ,foldl1 ,foldl' ,foldr ,foldr1 ,mapAccumL ,mapAccumR ,maximum ,maximumBy ,minimum ,minimumBy ,length ,notElem ,null ,or ,product ,sum )importGHC.Base (Bool(..),Eq((==)),otherwise )-- | The 'isSubsequenceOf' function takes two lists and returns 'True' if all-- the elements of the first list occur, in order, in the second. The-- elements do not have to occur consecutively.---- @'isSubsequenceOf' x y@ is equivalent to @'elem' x ('subsequences' y)@.---- @since 4.8.0.0---- ==== __Examples__---- >>> isSubsequenceOf "GHC" "The Glorious Haskell Compiler"-- True-- >>> isSubsequenceOf ['a','d'..'z'] ['a'..'z']-- True-- >>> isSubsequenceOf [1..10] [10,9..0]-- FalseisSubsequenceOf ::(Eqa )=>[a ]->[a ]->BoolisSubsequenceOf :: [a] -> [a] -> Bool
isSubsequenceOf [][a]
_=Bool
TrueisSubsequenceOf [a]
_[]=Bool
FalseisSubsequenceOf a :: [a]
a @(a
x :[a]
a' )(a
y :[a]
b )|a
x a -> a -> Bool
forall a. Eq a => a -> a -> Bool
==a
y =[a] -> [a] -> Bool
forall a. Eq a => [a] -> [a] -> Bool
isSubsequenceOf [a]
a' [a]
b |Bool
otherwise =[a] -> [a] -> Bool
forall a. Eq a => [a] -> [a] -> Bool
isSubsequenceOf [a]
a [a]
b 

AltStyle によって変換されたページ (->オリジナル) /