fixed-vector-hetero-0.5.0.0: Generic heterogeneous vectors

Safe HaskellNone
LanguageHaskell98

Data.Vector.HFixed.HVec

Contents

Description

Heterogeneous vector parametric in its elements

Synopsis

Generic heterogeneous vector

data HVec (xs :: [*]) Source #

Generic heterogeneous vector

Instances

ArityC * Eq xs => Eq (HVec xs) Source # 

Methods

(==) :: HVec xs -> HVec xs -> Bool #

(/=) :: HVec xs -> HVec xs -> Bool #

(ArityC * Ord xs, ArityC * Eq xs) => Ord (HVec xs) Source # 

Methods

compare :: HVec xs -> HVec xs -> Ordering #

(<) :: HVec xs -> HVec xs -> Bool #

(<=) :: HVec xs -> HVec xs -> Bool #

(>) :: HVec xs -> HVec xs -> Bool #

(>=) :: HVec xs -> HVec xs -> Bool #

max :: HVec xs -> HVec xs -> HVec xs #

min :: HVec xs -> HVec xs -> HVec xs #

ArityC * Show xs => Show (HVec xs) Source # 

Methods

showsPrec :: Int -> HVec xs -> ShowS #

show :: HVec xs -> String #

showList :: [HVec xs] -> ShowS #

ArityC * Semigroup xs => Semigroup (HVec xs) Source # 

Methods

(<>) :: HVec xs -> HVec xs -> HVec xs #

sconcat :: NonEmpty (HVec xs) -> HVec xs #

stimes :: Integral b => b -> HVec xs -> HVec xs #

ArityC * Monoid xs => Monoid (HVec xs) Source # 

Methods

mempty :: HVec xs #

mappend :: HVec xs -> HVec xs -> HVec xs #

mconcat :: [HVec xs] -> HVec xs #

ArityC * NFData xs => NFData (HVec xs) Source # 

Methods

rnf :: HVec xs -> () #

Arity * xs => HVector (HVec xs) Source # 

Associated Types

type Elems (HVec xs) :: [*] Source #

Methods

construct :: Fun (Elems (HVec xs)) (HVec xs) Source #

inspect :: HVec xs -> Fun (Elems (HVec xs)) a -> a Source #

type Elems (HVec xs) Source # 
type Elems (HVec xs) = xs

data HVecF (xs :: [*]) (f :: * -> *) Source #

Heterogeneous vector parametrized by common type constructor.

Instances

Arity * xs => HVectorF * (HVecF xs) Source # 

Associated Types

type ElemsF (HVecF xs) (v :: (HVecF xs -> *) -> *) :: [α] Source #

Methods

inspectF :: v f -> TFun (HVecF xs) f (ElemsF (HVecF xs) v) a -> a Source #

constructF :: TFun (HVecF xs) f (ElemsF (HVecF xs) v) (v f) Source #

(Eq1 f, ArityC * Eq xs) => Eq (HVecF xs f) Source # 

Methods

(==) :: HVecF xs f -> HVecF xs f -> Bool #

(/=) :: HVecF xs f -> HVecF xs f -> Bool #

(Ord1 f, ArityC * Eq xs, ArityC * Ord xs) => Ord (HVecF xs f) Source # 

Methods

compare :: HVecF xs f -> HVecF xs f -> Ordering #

(<) :: HVecF xs f -> HVecF xs f -> Bool #

(<=) :: HVecF xs f -> HVecF xs f -> Bool #

(>) :: HVecF xs f -> HVecF xs f -> Bool #

(>=) :: HVecF xs f -> HVecF xs f -> Bool #

max :: HVecF xs f -> HVecF xs f -> HVecF xs f #

min :: HVecF xs f -> HVecF xs f -> HVecF xs f #

(Show1 f, ArityC * Show xs) => Show (HVecF xs f) Source # 

Methods

showsPrec :: Int -> HVecF xs f -> ShowS #

show :: HVecF xs f -> String #

showList :: [HVecF xs f] -> ShowS #

type ElemsF * (HVecF xs) Source # 
type ElemsF * (HVecF xs) = xs