{-# LANGUAGE CPP #-} -- | @Seq@. Import as: -- -- > import qualified RIO.Seq as Seq module RIO.Seq ( Data.Sequence.Seq(..) -- * Construction , Data.Sequence.empty , Data.Sequence.singleton , (Data.Sequence.<|) , (Data.Sequence.|>) , (Data.Sequence.><) , Data.Sequence.fromList , Data.Sequence.fromFunction , Data.Sequence.fromArray -- ** Repetition , Data.Sequence.replicate , Data.Sequence.replicateA , Data.Sequence.replicateM #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.cycleTaking #endif -- ** Iterative construction , Data.Sequence.iterateN , Data.Sequence.unfoldr , Data.Sequence.unfoldl -- * Deconstruction -- | Additional functions for deconstructing sequences are available via the -- 'Foldable' instance of 'Seq'. -- ** Queries , Data.Sequence.null , Data.Sequence.length -- ** Views , Data.Sequence.ViewL(..) , Data.Sequence.viewl , Data.Sequence.ViewR(..) , Data.Sequence.viewr -- * Scans , Data.Sequence.scanl , Data.Sequence.scanl1 , Data.Sequence.scanr , Data.Sequence.scanr1 -- * Sublists , Data.Sequence.tails , Data.Sequence.inits #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.chunksOf #endif -- ** Sequential searches , Data.Sequence.takeWhileL , Data.Sequence.takeWhileR , Data.Sequence.dropWhileL , Data.Sequence.dropWhileR , Data.Sequence.spanl , Data.Sequence.spanr , Data.Sequence.breakl , Data.Sequence.breakr , Data.Sequence.partition , Data.Sequence.filter -- * Sorting , Data.Sequence.sort , Data.Sequence.sortBy , Data.Sequence.unstableSort , Data.Sequence.unstableSortBy -- * Indexing #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.lookup , (Data.Sequence.!?) #endif , Data.Sequence.index , Data.Sequence.adjust #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.adjust' #endif , Data.Sequence.update , Data.Sequence.take , Data.Sequence.drop #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.insertAt , Data.Sequence.deleteAt #endif , Data.Sequence.splitAt -- ** Indexing with predicates -- | These functions perform sequential searches from the left or right ends -- of the sequence elements. , Data.Sequence.elemIndexL , Data.Sequence.elemIndicesL , Data.Sequence.elemIndexR , Data.Sequence.elemIndicesR , Data.Sequence.findIndexL , Data.Sequence.findIndicesL , Data.Sequence.findIndexR , Data.Sequence.findIndicesR -- * Folds -- | General folds are available via the 'Foldable' instance of 'Seq'. #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.foldMapWithIndex #endif , Data.Sequence.foldlWithIndex , Data.Sequence.foldrWithIndex -- * Transformations , Data.Sequence.mapWithIndex #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.traverseWithIndex #endif , Data.Sequence.reverse #if MIN_VERSION_containers(0, 5, 8) , Data.Sequence.intersperse #endif -- ** Zips , Data.Sequence.zip , Data.Sequence.zipWith , Data.Sequence.zip3 , Data.Sequence.zipWith3 , Data.Sequence.zip4 , Data.Sequence.zipWith4 ) where import qualified Data.Sequence