helio-0.1.2.4: HelIO - HelVM Common Library
Safe HaskellNone
LanguageHaskell2010

HelVM.HelIO.Collections.SList

Synopsis

Documentation

chunksOf :: Int -> SList a -> SList $ SList a #

Public functions

sListEmpty :: SList a #

Construction

sListFromList :: [a] -> SList a #

sListToList :: SList a -> [a] #

DeConstruction

type SString = SList Char #

Types

newtype SList a #

Constructors

SList 

Fields

Instances

Instances details
Monad SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(>>=) :: SList a -> (a -> SList b) -> SList b #

(>>) :: SList a -> SList b -> SList b #

return :: a -> SList a #

Functor SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fmap :: (a -> b) -> SList a -> SList b #

(<$) :: a -> SList b -> SList a #

IsString SString # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fromString :: String -> SString #

Applicative SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

pure :: a -> SList a #

(<*>) :: SList (a -> b) -> SList a -> SList b #

liftA2 :: (a -> b -> c) -> SList a -> SList b -> SList c #

(*>) :: SList a -> SList b -> SList b #

(<*) :: SList a -> SList b -> SList a #

Foldable SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fold :: Monoid m => SList m -> m #

foldMap :: Monoid m => (a -> m) -> SList a -> m #

foldMap' :: Monoid m => (a -> m) -> SList a -> m #

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

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

foldl :: (b -> a -> b) -> b -> SList a -> b #

foldl' :: (b -> a -> b) -> b -> SList a -> b #

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

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

toList :: SList a -> [a] #

null :: SList a -> Bool #

length :: SList a -> Int #

elem :: Eq a => a -> SList a -> Bool #

maximum :: Ord a => SList a -> a #

minimum :: Ord a => SList a -> a #

sum :: Num a => SList a -> a #

product :: Num a => SList a -> a #

Traversable SList # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

traverse :: Applicative f => (a -> f b) -> SList a -> f (SList b) #

sequenceA :: Applicative f => SList (f a) -> f (SList a) #

mapM :: Monad m => (a -> m b) -> SList a -> m (SList b) #

sequence :: Monad m => SList (m a) -> m (SList a) #

IsList (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Associated Types

type Item (SList a) #

Methods

fromList :: [Item (SList a)] -> SList a #

fromListN :: Int -> [Item (SList a)] -> SList a #

toList :: SList a -> [Item (SList a)] #

Eq a => Eq (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(==) :: SList a -> SList a -> Bool #

(/=) :: SList a -> SList a -> Bool #

Ord a => Ord (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

compare :: SList a -> SList a -> Ordering #

(<) :: SList a -> SList a -> Bool #

(<=) :: SList a -> SList a -> Bool #

(>) :: SList a -> SList a -> Bool #

(>=) :: SList a -> SList a -> Bool #

max :: SList a -> SList a -> SList a #

min :: SList a -> SList a -> SList a #

Read a => Read (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Show a => Show (SList a) #

Standard instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

showsPrec :: Int -> SList a -> ShowS #

show :: SList a -> String #

showList :: [SList a] -> ShowS #

Semigroup (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

(<>) :: SList a -> SList a -> SList a #

sconcat :: NonEmpty (SList a) -> SList a #

stimes :: Integral b => b -> SList a -> SList a #

Monoid (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

mempty :: SList a #

mappend :: SList a -> SList a -> SList a #

mconcat :: [SList a] -> SList a #

GrowingAppend (SList a) #

SemiSequence instances

Instance details

Defined in HelVM.HelIO.Collections.SList

MonoFoldable (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

ofoldMap :: Monoid m => (Element (SList a) -> m) -> SList a -> m

ofoldr :: (Element (SList a) -> b -> b) -> b -> SList a -> b

ofoldl' :: (a0 -> Element (SList a) -> a0) -> a0 -> SList a -> a0

otoList :: SList a -> [Element (SList a)]

oall :: (Element (SList a) -> Bool) -> SList a -> Bool

oany :: (Element (SList a) -> Bool) -> SList a -> Bool

onull :: SList a -> Bool

olength :: SList a -> Int

olength64 :: SList a -> Int64

ocompareLength :: Integral i => SList a -> i -> Ordering

otraverse_ :: Applicative f => (Element (SList a) -> f b) -> SList a -> f ()

ofor_ :: Applicative f => SList a -> (Element (SList a) -> f b) -> f ()

omapM_ :: Applicative m => (Element (SList a) -> m ()) -> SList a -> m ()

oforM_ :: Applicative m => SList a -> (Element (SList a) -> m ()) -> m ()

ofoldlM :: Monad m => (a0 -> Element (SList a) -> m a0) -> a0 -> SList a -> m a0

ofoldMap1Ex :: Semigroup m => (Element (SList a) -> m) -> SList a -> m

ofoldr1Ex :: (Element (SList a) -> Element (SList a) -> Element (SList a)) -> SList a -> Element (SList a)

ofoldl1Ex' :: (Element (SList a) -> Element (SList a) -> Element (SList a)) -> SList a -> Element (SList a)

headEx :: SList a -> Element (SList a)

lastEx :: SList a -> Element (SList a)

unsafeHead :: SList a -> Element (SList a)

unsafeLast :: SList a -> Element (SList a)

maximumByEx :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> Element (SList a)

minimumByEx :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> Element (SList a)

oelem :: Element (SList a) -> SList a -> Bool

onotElem :: Element (SList a) -> SList a -> Bool

MonoFunctor (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

omap :: (Element (SList a) -> Element (SList a)) -> SList a -> SList a

MonoPointed (SList a) #

IsSequence instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

opoint :: Element (SList a) -> SList a

MonoTraversable (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

otraverse :: Applicative f => (Element (SList a) -> f (Element (SList a))) -> SList a -> f (SList a)

omapM :: Applicative m => (Element (SList a) -> m (Element (SList a))) -> SList a -> m (SList a)

IsSequence (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

fromList :: [Element (SList a)] -> SList a

lengthIndex :: SList a -> Index (SList a)

break :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

span :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

dropWhile :: (Element (SList a) -> Bool) -> SList a -> SList a

takeWhile :: (Element (SList a) -> Bool) -> SList a -> SList a

splitAt :: Index (SList a) -> SList a -> (SList a, SList a)

unsafeSplitAt :: Index (SList a) -> SList a -> (SList a, SList a)

take :: Index (SList a) -> SList a -> SList a

unsafeTake :: Index (SList a) -> SList a -> SList a

drop :: Index (SList a) -> SList a -> SList a

unsafeDrop :: Index (SList a) -> SList a -> SList a

dropEnd :: Index (SList a) -> SList a -> SList a

partition :: (Element (SList a) -> Bool) -> SList a -> (SList a, SList a)

uncons :: SList a -> Maybe (Element (SList a), SList a)

unsnoc :: SList a -> Maybe (SList a, Element (SList a))

filter :: (Element (SList a) -> Bool) -> SList a -> SList a

filterM :: Monad m => (Element (SList a) -> m Bool) -> SList a -> m (SList a)

replicate :: Index (SList a) -> Element (SList a) -> SList a

replicateM :: Monad m => Index (SList a) -> m (Element (SList a)) -> m (SList a)

groupBy :: (Element (SList a) -> Element (SList a) -> Bool) -> SList a -> [SList a]

groupAllOn :: Eq b => (Element (SList a) -> b) -> SList a -> [SList a]

subsequences :: SList a -> [SList a]

permutations :: SList a -> [SList a]

tailEx :: SList a -> SList a

tailMay :: SList a -> Maybe (SList a)

initEx :: SList a -> SList a

initMay :: SList a -> Maybe (SList a)

unsafeTail :: SList a -> SList a

unsafeInit :: SList a -> SList a

index :: SList a -> Index (SList a) -> Maybe (Element (SList a))

indexEx :: SList a -> Index (SList a) -> Element (SList a)

unsafeIndex :: SList a -> Index (SList a) -> Element (SList a)

splitWhen :: (Element (SList a) -> Bool) -> SList a -> [SList a]

tails :: SList a -> [SList a]

inits :: SList a -> [SList a]

initTails :: SList a -> [(SList a, SList a)]

SemiSequence (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Associated Types

type Index (SList a)

Methods

intersperse :: Element (SList a) -> SList a -> SList a

reverse :: SList a -> SList a

find :: (Element (SList a) -> Bool) -> SList a -> Maybe (Element (SList a))

sortBy :: (Element (SList a) -> Element (SList a) -> Ordering) -> SList a -> SList a

cons :: Element (SList a) -> SList a -> SList a

snoc :: SList a -> Element (SList a) -> SList a

Default a => InsertDef (SList a) #

My instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Index (SList a) -> Element (SList a) -> SList a -> SList a #

Default a => InsertDef (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

insertDef :: Int -> a -> SList a -> SList a #

ListLike (SList a) a # 
Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

empty :: SList a

singleton :: a -> SList a

cons :: a -> SList a -> SList a

snoc :: SList a -> a -> SList a

append :: SList a -> SList a -> SList a

head :: SList a -> a

uncons :: SList a -> Maybe (a, SList a)

last :: SList a -> a

tail :: SList a -> SList a

init :: SList a -> SList a

null :: SList a -> Bool

length :: SList a -> Int

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

rigidMap :: (a -> a) -> SList a -> SList a

reverse :: SList a -> SList a

intersperse :: a -> SList a -> SList a

concat :: ListLike full' (SList a) => full' -> SList a

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

rigidConcatMap :: (a -> SList a) -> SList a -> SList a

any :: (a -> Bool) -> SList a -> Bool

all :: (a -> Bool) -> SList a -> Bool

maximum :: SList a -> a

minimum :: SList a -> a

replicate :: Int -> a -> SList a

take :: Int -> SList a -> SList a

drop :: Int -> SList a -> SList a

splitAt :: Int -> SList a -> (SList a, SList a)

takeWhile :: (a -> Bool) -> SList a -> SList a

dropWhile :: (a -> Bool) -> SList a -> SList a

dropWhileEnd :: (a -> Bool) -> SList a -> SList a

span :: (a -> Bool) -> SList a -> (SList a, SList a)

break :: (a -> Bool) -> SList a -> (SList a, SList a)

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

inits :: ListLike full' (SList a) => SList a -> full'

tails :: ListLike full' (SList a) => SList a -> full'

isPrefixOf :: SList a -> SList a -> Bool

isSuffixOf :: SList a -> SList a -> Bool

isInfixOf :: SList a -> SList a -> Bool

stripPrefix :: SList a -> SList a -> Maybe (SList a)

stripSuffix :: SList a -> SList a -> Maybe (SList a)

elem :: a -> SList a -> Bool

notElem :: a -> SList a -> Bool

find :: (a -> Bool) -> SList a -> Maybe a

filter :: (a -> Bool) -> SList a -> SList a

partition :: (a -> Bool) -> SList a -> (SList a, SList a)

index :: SList a -> Int -> a

elemIndex :: a -> SList a -> Maybe Int

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

findIndex :: (a -> Bool) -> SList a -> Maybe Int

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

sequence :: (Applicative m, ListLike fullinp (m a)) => fullinp -> m (SList a)

mapM :: (Applicative m, ListLike full' item') => (a -> m item') -> SList a -> m full'

rigidMapM :: Monad m => (a -> m a) -> SList a -> m (SList a)

nub :: SList a -> SList a

delete :: a -> SList a -> SList a

deleteFirsts :: SList a -> SList a -> SList a

union :: SList a -> SList a -> SList a

intersect :: SList a -> SList a -> SList a

sort :: SList a -> SList a

insert :: a -> SList a -> SList a

toList' :: SList a -> [a]

fromList' :: [a] -> SList a

fromListLike :: ListLike full' a => SList a -> full'

nubBy :: (a -> a -> Bool) -> SList a -> SList a

deleteBy :: (a -> a -> Bool) -> a -> SList a -> SList a

deleteFirstsBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

unionBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

intersectBy :: (a -> a -> Bool) -> SList a -> SList a -> SList a

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

sortBy :: (a -> a -> Ordering) -> SList a -> SList a

insertBy :: (a -> a -> Ordering) -> a -> SList a -> SList a

genericLength :: Num a0 => SList a -> a0

genericTake :: Integral a0 => a0 -> SList a -> SList a

genericDrop :: Integral a0 => a0 -> SList a -> SList a

genericSplitAt :: Integral a0 => a0 -> SList a -> (SList a, SList a)

genericReplicate :: Integral a0 => a0 -> a -> SList a

FoldableLL (SList a) a #

ListLike instances

Instance details

Defined in HelVM.HelIO.Collections.SList

Methods

foldl :: (a0 -> a -> a0) -> a0 -> SList a -> a0

foldl' :: (a0 -> a -> a0) -> a0 -> SList a -> a0

foldl1 :: (a -> a -> a) -> SList a -> a

foldr :: (a -> b -> b) -> b -> SList a -> b

foldr' :: (a -> b -> b) -> b -> SList a -> b

foldr1 :: (a -> a -> a) -> SList a -> a

type Item (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

type Item (SList a) = a
type Element (SList a) #

MonoFoldable instances

Instance details

Defined in HelVM.HelIO.Collections.SList

type Element (SList a) = a
type Index (SList a) # 
Instance details

Defined in HelVM.HelIO.Collections.SList

type Index (SList a) = Int

sListCons :: a -> SList a -> SList a #

Internals sList

sListSnoc :: ListLike a (Item a) => a -> Item a -> a #

sListHead :: SList a -> a #

sListUncons :: SList a -> Maybe (a, SList a) #

sListLast :: SList a -> a #

sListIntersperse :: a -> SList a -> SList a #

sListReplicate :: Int -> a -> SList a #

sListFind :: (a -> Bool) -> SList a -> Maybe a #

sListIndex :: SList a -> Int -> a #

sListUnsafeAt :: Int -> SList a -> a #

sListSortBy :: (a -> a -> Ordering) -> SList a -> SList a #