primitive-indexed-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Data.Primitive.Indexed.Unsafe

Contents

Description

This module exports data constructors that subvert the guarantees provided by this library. It is part of the stable API, but users should importing this take on the burden of proving that these are used safely. If there is something this module is required for, please open an issue on github.

Synopsis

Integer

newtype Index n Source #

An integer that can be used to index into an array of length n.

Constructors

Index 

Fields

Instances

Eq (Index k n) Source # 

Methods

(==) :: Index k n -> Index k n -> Bool #

(/=) :: Index k n -> Index k n -> Bool #

Ord (Index k n) Source # 

Methods

compare :: Index k n -> Index k n -> Ordering #

(<) :: Index k n -> Index k n -> Bool #

(<=) :: Index k n -> Index k n -> Bool #

(>) :: Index k n -> Index k n -> Bool #

(>=) :: Index k n -> Index k n -> Bool #

max :: Index k n -> Index k n -> Index k n #

min :: Index k n -> Index k n -> Index k n #

Show (Index k n) Source # 

Methods

showsPrec :: Int -> Index k n -> ShowS #

show :: Index k n -> String #

showList :: [Index k n] -> ShowS #

Prim (Index k n) Source # 

newtype Length n Source #

A value-level representation of length n.

Constructors

Length 

Fields

Instances

Eq (Length k n) Source # 

Methods

(==) :: Length k n -> Length k n -> Bool #

(/=) :: Length k n -> Length k n -> Bool #

Ord (Length k n) Source # 

Methods

compare :: Length k n -> Length k n -> Ordering #

(<) :: Length k n -> Length k n -> Bool #

(<=) :: Length k n -> Length k n -> Bool #

(>) :: Length k n -> Length k n -> Bool #

(>=) :: Length k n -> Length k n -> Bool #

max :: Length k n -> Length k n -> Length k n #

min :: Length k n -> Length k n -> Length k n #

Show (Length k n) Source # 

Methods

showsPrec :: Int -> Length k n -> ShowS #

show :: Length k n -> String #

showList :: [Length k n] -> ShowS #

Prim (Length k n) Source # 

Immutable

newtype Vector n a Source #

Constructors

Vector (Array a) 

Instances

Functor (Vector k n) Source # 

Methods

fmap :: (a -> b) -> Vector k n a -> Vector k n b #

(<$) :: a -> Vector k n b -> Vector k n a #

Foldable (Vector k n) Source # 

Methods

fold :: Monoid m => Vector k n m -> m #

foldMap :: Monoid m => (a -> m) -> Vector k n a -> m #

foldr :: (a -> b -> b) -> b -> Vector k n a -> b #

foldr' :: (a -> b -> b) -> b -> Vector k n a -> b #

foldl :: (b -> a -> b) -> b -> Vector k n a -> b #

foldl' :: (b -> a -> b) -> b -> Vector k n a -> b #

foldr1 :: (a -> a -> a) -> Vector k n a -> a #

foldl1 :: (a -> a -> a) -> Vector k n a -> a #

toList :: Vector k n a -> [a] #

null :: Vector k n a -> Bool #

length :: Vector k n a -> Int #

elem :: Eq a => a -> Vector k n a -> Bool #

maximum :: Ord a => Vector k n a -> a #

minimum :: Ord a => Vector k n a -> a #

sum :: Num a => Vector k n a -> a #

product :: Num a => Vector k n a -> a #

Traversable (Vector k n) Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Vector k n a -> f (Vector k n b) #

sequenceA :: Applicative f => Vector k n (f a) -> f (Vector k n a) #

mapM :: Monad m => (a -> m b) -> Vector k n a -> m (Vector k n b) #

sequence :: Monad m => Vector k n (m a) -> m (Vector k n a) #

Eq a => Eq (Vector k n a) Source # 

Methods

(==) :: Vector k n a -> Vector k n a -> Bool #

(/=) :: Vector k n a -> Vector k n a -> Bool #

Ord a => Ord (Vector k n a) Source # 

Methods

compare :: Vector k n a -> Vector k n a -> Ordering #

(<) :: Vector k n a -> Vector k n a -> Bool #

(<=) :: Vector k n a -> Vector k n a -> Bool #

(>) :: Vector k n a -> Vector k n a -> Bool #

(>=) :: Vector k n a -> Vector k n a -> Bool #

max :: Vector k n a -> Vector k n a -> Vector k n a #

min :: Vector k n a -> Vector k n a -> Vector k n a #

newtype PrimVector n a Source #

Constructors

PrimVector (PrimArray a) 

Instances

(Prim a, Eq a) => Eq (PrimVector k n a) Source # 

Methods

(==) :: PrimVector k n a -> PrimVector k n a -> Bool #

(/=) :: PrimVector k n a -> PrimVector k n a -> Bool #

(Prim a, Ord a) => Ord (PrimVector k n a) Source # 

Methods

compare :: PrimVector k n a -> PrimVector k n a -> Ordering #

(<) :: PrimVector k n a -> PrimVector k n a -> Bool #

(<=) :: PrimVector k n a -> PrimVector k n a -> Bool #

(>) :: PrimVector k n a -> PrimVector k n a -> Bool #

(>=) :: PrimVector k n a -> PrimVector k n a -> Bool #

max :: PrimVector k n a -> PrimVector k n a -> PrimVector k n a #

min :: PrimVector k n a -> PrimVector k n a -> PrimVector k n a #

Mutable

newtype MutableVector n s a Source #

Constructors

MutableVector (MutableArray s a)