Module

Data.ArrayView.NonEmpty

Package
purescript-array-views
Repository
klntsky/purescript-array-views

#fromArrayView Source

fromArrayView :: forall a. ArrayView a -> Maybe (NonEmptyArrayView a)

O(1)

#fromNonEmpty Source

#toNonEmpty Source

#fromFoldable Source

fromFoldable :: forall a f. Foldable f => f a -> Maybe (NonEmptyArrayView a)

#fromFoldable1 Source

fromFoldable1 :: forall a f. Foldable1 f => f a -> NonEmptyArrayView a

#toUnfoldable Source

toUnfoldable :: forall a f. Unfoldable f => NonEmptyArrayView a -> f a

#toUnfoldable1 Source

toUnfoldable1 :: forall a f. Unfoldable1 f => NonEmptyArrayView a -> f a

#singleton Source

singleton :: forall a. a -> NonEmptyArrayView a

#(..) Source

Operator alias for Data.ArrayView.NonEmpty.range (non-associative / precedence 8)

#replicate Source

replicate :: forall a. Int -> a -> NonEmptyArrayView a

#some Source

some :: forall a f. Alternative f => Lazy (f (Array a)) => f a -> f (NonEmptyArrayView a)

#length Source

length :: forall a. NonEmptyArrayView a -> Int

#(:) Source

Operator alias for Data.ArrayView.NonEmpty.cons (right-associative / precedence 6)

#cons Source

cons :: forall a. a -> NonEmptyArrayView a -> NonEmptyArrayView a

#cons' Source

cons' :: forall a. a -> ArrayView a -> NonEmptyArrayView a

#snoc Source

snoc :: forall a. NonEmptyArrayView a -> a -> NonEmptyArrayView a

#snoc' Source

snoc' :: forall a. ArrayView a -> a -> NonEmptyArrayView a

#appendArrayView Source

#insert Source

insert :: forall a. Ord a => a -> NonEmptyArrayView a -> NonEmptyArrayView a

#insertBy Source

insertBy :: forall a. (a -> a -> Ordering) -> a -> NonEmptyArrayView a -> NonEmptyArrayView a

#head Source

head :: forall a. NonEmptyArrayView a -> a

#last Source

last :: forall a. NonEmptyArrayView a -> a

#tail Source

tail :: forall a. NonEmptyArrayView a -> ArrayView a

#init Source

init :: forall a. NonEmptyArrayView a -> ArrayView a

#uncons Source

uncons :: forall a. NonEmptyArrayView a -> { head :: a, tail :: ArrayView a }

#unsnoc Source

unsnoc :: forall a. NonEmptyArrayView a -> { init :: ArrayView a, last :: a }

#(!!) Source

Operator alias for Data.ArrayView.NonEmpty.index (left-associative / precedence 8)

#index Source

index :: forall a. NonEmptyArrayView a -> Int -> Maybe a

#elemIndex Source

elemIndex :: forall a. Eq a => a -> NonEmptyArrayView a -> Maybe Int

#elemLastIndex Source

elemLastIndex :: forall a. Eq a => a -> NonEmptyArrayView a -> Maybe Int

#findIndex Source

findIndex :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> Maybe Int

#findLastIndex Source

findLastIndex :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> Maybe Int

#insertAt Source

insertAt :: forall a. Int -> a -> NonEmptyArrayView a -> Maybe (NonEmptyArrayView a)

#deleteAt Source

deleteAt :: forall a. Int -> NonEmptyArrayView a -> Maybe (ArrayView a)

#updateAt Source

updateAt :: forall a. Int -> a -> NonEmptyArrayView a -> Maybe (NonEmptyArrayView a)

#updateAtIndices Source

#modifyAt Source

modifyAt :: forall a. Int -> (a -> a) -> NonEmptyArrayView a -> Maybe (NonEmptyArrayView a)

#modifyAtIndices Source

modifyAtIndices :: forall a t. Foldable t => t Int -> (a -> a) -> NonEmptyArrayView a -> NonEmptyArrayView a

#alterAt Source

alterAt :: forall a. Int -> (a -> Maybe a) -> NonEmptyArrayView a -> Maybe (ArrayView a)

#concatMap Source

#filter Source

filter :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> ArrayView a

#partition Source

partition :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> { no :: ArrayView a, yes :: ArrayView a }

#filterA Source

filterA :: forall f a. Applicative f => (a -> f Boolean) -> NonEmptyArrayView a -> f (ArrayView a)

#mapMaybe Source

mapMaybe :: forall b a. (a -> Maybe b) -> NonEmptyArrayView a -> ArrayView b

#catMaybes Source

#sort Source

sort :: forall a. Ord a => NonEmptyArrayView a -> NonEmptyArrayView a

#sortBy Source

sortBy :: forall a. (a -> a -> Ordering) -> NonEmptyArrayView a -> NonEmptyArrayView a

#sortWith Source

sortWith :: forall b a. Ord b => (a -> b) -> NonEmptyArrayView a -> NonEmptyArrayView a

#slice Source

slice :: forall a. Int -> Int -> NonEmptyArrayView a -> ArrayView a

#take Source

take :: forall a. Int -> NonEmptyArrayView a -> ArrayView a

#takeEnd Source

takeEnd :: forall a. Int -> NonEmptyArrayView a -> ArrayView a

#takeWhile Source

takeWhile :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> ArrayView a

#drop Source

drop :: forall a. Int -> NonEmptyArrayView a -> ArrayView a

#dropEnd Source

dropEnd :: forall a. Int -> NonEmptyArrayView a -> ArrayView a

#dropWhile Source

dropWhile :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> ArrayView a

#span Source

span :: forall a. (a -> Boolean) -> NonEmptyArrayView a -> { init :: ArrayView a, rest :: ArrayView a }

#nub Source

nub :: forall a. Ord a => NonEmptyArrayView a -> NonEmptyArrayView a

#nubBy Source

nubBy :: forall a. (a -> a -> Ordering) -> NonEmptyArrayView a -> NonEmptyArrayView a

#nubEq Source

nubEq :: forall a. Eq a => NonEmptyArrayView a -> NonEmptyArrayView a

#nubByEq Source

nubByEq :: forall a. (a -> a -> Boolean) -> NonEmptyArrayView a -> NonEmptyArrayView a

#union' Source

union' :: forall a. Eq a => NonEmptyArrayView a -> ArrayView a -> NonEmptyArrayView a

#unionBy Source

unionBy :: forall a. (a -> a -> Boolean) -> NonEmptyArrayView a -> NonEmptyArrayView a -> NonEmptyArrayView a

#unionBy' Source

unionBy' :: forall a. (a -> a -> Boolean) -> NonEmptyArrayView a -> ArrayView a -> NonEmptyArrayView a

#delete Source

delete :: forall a. Eq a => a -> NonEmptyArrayView a -> ArrayView a

#deleteBy Source

deleteBy :: forall a. (a -> a -> Boolean) -> a -> NonEmptyArrayView a -> ArrayView a

#(\\) Source

Operator alias for Data.ArrayView.NonEmpty.difference (non-associative / precedence 5)

#difference Source

#difference' Source

difference' :: forall a. Eq a => NonEmptyArrayView a -> ArrayView a -> ArrayView a

#intersect Source

#intersect' Source

intersect' :: forall a. Eq a => NonEmptyArrayView a -> ArrayView a -> ArrayView a

#intersectBy Source

intersectBy :: forall a. (a -> a -> Boolean) -> NonEmptyArrayView a -> NonEmptyArrayView a -> ArrayView a

#intersectBy' Source

intersectBy' :: forall a. (a -> a -> Boolean) -> NonEmptyArrayView a -> ArrayView a -> ArrayView a

#zipWith Source

zipWith :: forall c b a. (a -> b -> c) -> NonEmptyArrayView a -> NonEmptyArrayView b -> NonEmptyArrayView c

#zipWithA Source

zipWithA :: forall c b a m. Applicative m => (a -> b -> m c) -> NonEmptyArrayView a -> NonEmptyArrayView b -> m (NonEmptyArrayView c)

#foldM Source

foldM :: forall b a m. Monad m => (a -> b -> m a) -> a -> NonEmptyArrayView b -> m a

#foldRecM Source

foldRecM :: forall b a m. MonadRec m => (a -> b -> m a) -> a -> NonEmptyArrayView b -> m a

#unsafeIndex Source

unsafeIndex :: forall a. Partial => NonEmptyArrayView a -> Int -> a

#force Source

force :: forall a. NonEmptyArrayView a -> NonEmptyArrayView a

Perform deferred slice. This function allows the garbage collector to free unused parts of the array referenced by given NonEmptyArrayView.

O(n)

Re-exports from Data.ArrayView.Internal

#toArrayView Source