primitive-extras-0.10.1.5: Extras for the "primitive" library
Safe HaskellNone
LanguageHaskell2010

PrimitiveExtras.SmallArray

Synopsis

Documentation

newEmptySmallArray :: PrimMonad m => Int -> m (SmallMutableArray (PrimState m) a) Source #

A workaround for the weird forcing of undefined values int newSmallArray

list :: [a] -> SmallArray a Source #

unset :: Int -> SmallArray a -> SmallArray a Source #

Remove an element.

set :: Int -> a -> SmallArray a -> SmallArray a Source #

adjust :: (a -> a) -> Int -> SmallArray a -> SmallArray a Source #

unsafeAdjust :: (a -> a) -> Int -> SmallArray a -> SmallArray a Source #

orderedPair :: Int -> e -> Int -> e -> SmallArray e Source #

findAndMap :: (a -> Maybe b) -> SmallArray a -> Maybe b Source #

find :: (a -> Bool) -> SmallArray a -> Maybe a Source #

findWithIndex :: (a -> Bool) -> SmallArray a -> Maybe (Int, a) Source #

onFoundElementFocus :: Monad m => (a -> Bool) -> (a -> Bool) -> Focus a m b -> Focus (SmallArray a) m b Source #

focusOnFoundElement :: Monad m => Focus a m b -> (a -> Bool) -> (a -> Bool) -> SmallArray a -> m (b, SmallArray a) Source #

toList :: forall a. SmallArray a -> [a] Source #