primitive-extras-0.10.1.6: Extras for the "primitive" library
Safe HaskellSafe-Inferred
LanguageHaskell2010

PrimitiveExtras.By6Bits

Synopsis

Documentation

data By6Bits e Source #

An immutable space-efficient sparse array, which can only store not more than 64 elements.

Instances

Instances details
Foldable By6Bits Source # 
Instance details

Defined in PrimitiveExtras.By6Bits

Methods

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

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

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

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

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

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

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

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

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

toList :: By6Bits a -> [a] #

null :: By6Bits a -> Bool #

length :: By6Bits a -> Int #

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

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

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

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

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

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

Defined in PrimitiveExtras.By6Bits

Methods

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

show :: By6Bits a -> String #

showList :: [By6Bits a] -> ShowS #

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

Defined in PrimitiveExtras.By6Bits

Methods

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

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

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

An array with a single element at the specified index.

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

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

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

replace :: Int -> e -> By6Bits e -> By6Bits e Source #

adjust :: (e -> e) -> Int -> By6Bits e -> By6Bits e Source #

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

Remove an element.

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

Lookup an item at the index.

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

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

Convert into a list representation.

onElementAtFocus :: Monad m => Int -> Focus a m b -> Focus (By6Bits a) m b Source #

Orphan instances

Foldable By6Bits Source # 
Instance details

Methods

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

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

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

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

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

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

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

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

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

toList :: By6Bits a -> [a] #

null :: By6Bits a -> Bool #

length :: By6Bits a -> Int #

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

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

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

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

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

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

Methods

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

show :: By6Bits a -> String #

showList :: [By6Bits a] -> ShowS #

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

Methods

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

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