primitive-extras-0.6.4.1: Extras for the "primitive" library

Safe HaskellNone
LanguageHaskell2010

PrimitiveExtras.SparseSmallArray

Contents

Synopsis

Documentation

data SparseSmallArray e Source #

An immutable space-efficient sparse array, which can only store not more than 32 or 64 elements depending on the system architecure.

Instances
Foldable SparseSmallArray # 
Instance details

Defined in PrimitiveExtras.SparseSmallArray

Methods

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

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

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

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

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

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

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

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

toList :: SparseSmallArray a -> [a] #

null :: SparseSmallArray a -> Bool #

length :: SparseSmallArray a -> Int #

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

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

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

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

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

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

Defined in PrimitiveExtras.SparseSmallArray

Show a => Show (SparseSmallArray a) # 
Instance details

Defined in PrimitiveExtras.SparseSmallArray

singleton :: Int -> e -> SparseSmallArray e Source #

An array with a single element at the specified index.

pair :: Int -> e -> Int -> e -> SparseSmallArray e Source #

insert :: Int -> e -> SparseSmallArray e -> SparseSmallArray e Source #

Insert an element value at the index. It's your obligation to ensure that the index is empty before the operation.

unset :: Int -> SparseSmallArray e -> SparseSmallArray e Source #

Remove an element.

lookup :: Int -> SparseSmallArray e -> Maybe e Source #

Lookup an item at the index.

focusAt :: Monad m => Focus a m b -> Int -> SparseSmallArray a -> m (b, SparseSmallArray a) Source #

toMaybeList :: SparseSmallArray e -> [Maybe e] Source #

Convert into a list representation.

Orphan instances

Foldable SparseSmallArray Source # 
Instance details

Methods

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

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

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

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

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

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

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

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

toList :: SparseSmallArray a -> [a] #

null :: SparseSmallArray a -> Bool #

length :: SparseSmallArray a -> Int #

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

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

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

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

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

Eq a => Eq (SparseSmallArray a) Source # 
Instance details

Show a => Show (SparseSmallArray a) Source # 
Instance details