Movatterモバイル変換
[0]ホーム
{-# 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' ('compare'-- \`on\` '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.FoldableimportData.TraversableimportData.OldListhiding(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[]_=TrueisSubsequenceOf_[]=FalseisSubsequenceOfa@(x:a')(y:b)|x==y=isSubsequenceOfa'b|otherwise=isSubsequenceOfab
[8]ページ先頭