mono-traversable-0.1.0.0: Type classes for mapping, folding, and traversing monomorphic containers

Safe HaskellNone

Data.Sequences

Description

Warning: This module should be considered highly experimental.

Synopsis

Documentation

class (Monoid seq, MonoTraversable seq, Integral (Index seq)) => IsSequence seq whereSource

Laws:

 fromList . toList = id
 fromList (x <> y) = fromList x <> fromList y
 otoList (fromList x <> fromList y) = x <> y

Associated Types

type Index seq Source

Methods

singleton :: Element seq -> seqSource

fromList :: [Element seq] -> seqSource

replicate :: Index seq -> Element seq -> seqSource

replicateM :: Monad m => Index seq -> m (Element seq) -> m seqSource

filter :: (Element seq -> Bool) -> seq -> seqSource

filterM :: Monad m => (Element seq -> m Bool) -> seq -> m seqSource

intersperse :: Element seq -> seq -> seqSource

break :: (Element seq -> Bool) -> seq -> (seq, seq)Source

span :: (Element seq -> Bool) -> seq -> (seq, seq)Source

dropWhile :: (Element seq -> Bool) -> seq -> seqSource

takeWhile :: (Element seq -> Bool) -> seq -> seqSource

splitAt :: Index seq -> seq -> (seq, seq)Source

take :: Index seq -> seq -> seqSource

drop :: Index seq -> seq -> seqSource

reverse :: seq -> seqSource

find :: (Element seq -> Bool) -> seq -> Maybe (Element seq)Source

partition :: (Element seq -> Bool) -> seq -> (seq, seq)Source

sortBy :: (Element seq -> Element seq -> Ordering) -> seq -> seqSource

cons :: Element seq -> seq -> seqSource

uncons :: seq -> Maybe (Element seq, seq)Source

groupBy :: (Element seq -> Element seq -> Bool) -> seq -> [seq]Source

groupAllOn :: Eq b => (Element seq -> b) -> seq -> [seq]Source

Similar to standard groupBy, but operates on the whole collection, not just the consecutive items.

subsequences :: seq -> [seq]Source

permutations :: seq -> [seq]Source

class (IsSequence seq, Eq (Element seq)) => EqSequence seq whereSource

Methods

stripPrefix :: seq -> seq -> Maybe seqSource

isPrefixOf :: seq -> seq -> BoolSource

stripSuffix :: seq -> seq -> Maybe seqSource

isSuffixOf :: seq -> seq -> BoolSource

isInfixOf :: seq -> seq -> BoolSource

group :: seq -> [seq]Source

groupAll :: seq -> [seq]Source

Similar to standard group, but operates on the whole collection, not just the consecutive items.

elem :: Element seq -> seq -> BoolSource

notElem :: Element seq -> seq -> BoolSource

class (EqSequence seq, Ord (Element seq)) => OrdSequence seq whereSource

Methods

sort :: seq -> seqSource

class (IsSequence l, IsSequence s) => LazySequence l s | l -> s, s -> l whereSource

Methods

toChunks :: l -> [s]Source

fromChunks :: [s] -> lSource

toStrict :: l -> sSource

fromStrict :: s -> lSource

class (IsSequence t, IsSequence b) => Textual t b | t -> b, b -> t whereSource

Methods

words :: t -> [t]Source

unwords :: [t] -> tSource

lines :: t -> [t]Source

unlines :: [t] -> tSource

encodeUtf8 :: t -> bSource

decodeUtf8 :: b -> tSource

toLower :: t -> tSource

toUpper :: t -> tSource

toCaseFold :: t -> tSource

Instances

class LooseMap t whereSource

A map-like function which doesn't obey the Functor laws, and/or requires extra constraints on the contained values.

Associated Types

type LooseMapConstraint t e :: ConstraintSource

Methods

looseMap :: (LooseMapConstraint t e1, LooseMapConstraint t e2) => (e1 -> e2) -> t e1 -> t e2Source