ListLike-4.5.1: Generic support for list-like structures

Safe HaskellNone
LanguageHaskell98

Data.ListLike.Vector.Generic

Contents

Description

ListLike instance for any type supporting the Data.Vector.Generic interface. To avoid collisions with other Vector instances, this module must be imported directly.

Orphan instances

(Eq (v Char), Vector v Char) => StringLike (v Char) # 

Methods

toString :: v Char -> String #

fromString :: String -> v Char #

lines :: ListLike full (v Char) => v Char -> full #

words :: ListLike full (v Char) => v Char -> full #

unlines :: ListLike full (v Char) => full -> v Char #

unwords :: ListLike full (v Char) => full -> v Char #

Vector v a => FoldableLL (v a) a # 

Methods

foldl :: (a -> a -> a) -> a -> v a -> a #

foldl' :: (a -> a -> a) -> a -> v a -> a #

foldl1 :: (a -> a -> a) -> v a -> a #

foldr :: (a -> b -> b) -> b -> v a -> b #

foldr' :: (a -> b -> b) -> b -> v a -> b #

foldr1 :: (a -> a -> a) -> v a -> a #

(Monoid (v a), Eq (v a), Vector v a) => ListLike (v a) a # 

Methods

empty :: v a #

singleton :: a -> v a #

cons :: a -> v a -> v a #

snoc :: v a -> a -> v a #

append :: v a -> v a -> v a #

head :: v a -> a #

uncons :: v a -> Maybe (a, v a) #

last :: v a -> a #

tail :: v a -> v a #

init :: v a -> v a #

null :: v a -> Bool #

length :: v a -> Int #

map :: ListLike full' item' => (a -> item') -> v a -> full' #

rigidMap :: (a -> a) -> v a -> v a #

reverse :: v a -> v a #

intersperse :: a -> v a -> v a #

concat :: (ListLike full' (v a), Monoid (v a)) => full' -> v a #

concatMap :: ListLike full' item' => (a -> full') -> v a -> full' #

rigidConcatMap :: (a -> v a) -> v a -> v a #

any :: (a -> Bool) -> v a -> Bool #

all :: (a -> Bool) -> v a -> Bool #

maximum :: v a -> a #

minimum :: v a -> a #

replicate :: Int -> a -> v a #

take :: Int -> v a -> v a #

drop :: Int -> v a -> v a #

splitAt :: Int -> v a -> (v a, v a) #

takeWhile :: (a -> Bool) -> v a -> v a #

dropWhile :: (a -> Bool) -> v a -> v a #

dropWhileEnd :: (a -> Bool) -> v a -> v a #

span :: (a -> Bool) -> v a -> (v a, v a) #

break :: (a -> Bool) -> v a -> (v a, v a) #

group :: (ListLike full' (v a), Eq a) => v a -> full' #

inits :: ListLike full' (v a) => v a -> full' #

tails :: ListLike full' (v a) => v a -> full' #

isPrefixOf :: v a -> v a -> Bool #

isSuffixOf :: v a -> v a -> Bool #

isInfixOf :: v a -> v a -> Bool #

stripPrefix :: v a -> v a -> Maybe (v a) #

stripSuffix :: v a -> v a -> Maybe (v a) #

elem :: a -> v a -> Bool #

notElem :: a -> v a -> Bool #

find :: (a -> Bool) -> v a -> Maybe a #

filter :: (a -> Bool) -> v a -> v a #

partition :: (a -> Bool) -> v a -> (v a, v a) #

index :: v a -> Int -> a #

elemIndex :: a -> v a -> Maybe Int #

elemIndices :: (Eq a, ListLike result Int) => a -> v a -> result #

findIndex :: (a -> Bool) -> v a -> Maybe Int #

findIndices :: ListLike result Int => (a -> Bool) -> v a -> result #

sequence :: (Monad m, ListLike fullinp (m a)) => fullinp -> m (v a) #

mapM :: (Monad m, ListLike full' item') => (a -> m item') -> v a -> m full' #

rigidMapM :: Monad m => (a -> m a) -> v a -> m (v a) #

nub :: v a -> v a #

delete :: a -> v a -> v a #

deleteFirsts :: v a -> v a -> v a #

union :: v a -> v a -> v a #

intersect :: v a -> v a -> v a #

sort :: v a -> v a #

insert :: a -> v a -> v a #

toList :: v a -> [a] #

fromList :: [a] -> v a #

fromListLike :: ListLike full' a => v a -> full' #

nubBy :: (a -> a -> Bool) -> v a -> v a #

deleteBy :: (a -> a -> Bool) -> a -> v a -> v a #

deleteFirstsBy :: (a -> a -> Bool) -> v a -> v a -> v a #

unionBy :: (a -> a -> Bool) -> v a -> v a -> v a #

intersectBy :: (a -> a -> Bool) -> v a -> v a -> v a #

groupBy :: (ListLike full' (v a), Eq a) => (a -> a -> Bool) -> v a -> full' #

sortBy :: (a -> a -> Ordering) -> v a -> v a #

insertBy :: (a -> a -> Ordering) -> a -> v a -> v a #

genericLength :: Num a => v a -> a #

genericTake :: Integral a => a -> v a -> v a #

genericDrop :: Integral a => a -> v a -> v a #

genericSplitAt :: Integral a => a -> v a -> (v a, v a) #

genericReplicate :: Integral a => a -> a -> v a #