Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- nub :: forall v e. (Vector v e, Ord e) => v e -> v e
- nubBy :: forall v e. Vector v e => Comparison e -> v e -> v e
- nubByMut :: forall m v e. (PrimMonad m, MVector v e) => (Comparison e -> v (PrimState m) e -> m (v (PrimState m) e)) -> Comparison e -> v (PrimState m) e -> m (v (PrimState m) e)
Documentation
nub :: forall v e. (Vector v e, Ord e) => v e -> v e Source #
The nub
function which removes duplicate elements from a vector.
nubBy :: forall v e. Vector v e => Comparison e -> v e -> v e Source #
A version of nub
with a custom comparison predicate.
Note: This function makes use of sortByUniq
using the intro
sort algorithm.
nubByMut :: forall m v e. (PrimMonad m, MVector v e) => (Comparison e -> v (PrimState m) e -> m (v (PrimState m) e)) -> Comparison e -> v (PrimState m) e -> m (v (PrimState m) e) Source #
The nubByMut
function takes in an in-place sort algorithm
and uses it to do a de-deduplicated sort. It then uses this to
remove duplicate elements from the input.
Note: Since this algorithm needs the original input and so copies before sorting in-place. As such, it is safe to use on immutable inputs.