fixed-vector-hetero-0.6.1.1: Library for working with product types generically
Safe HaskellNone
LanguageHaskell2010

Data.Vector.HFixed.HVec

Description

Heterogeneous vector parametric in its elements

Synopsis
  • data HVec (xs :: [*])
  • data HVecF (xs :: [*]) (f :: * -> *)

Generic heterogeneous vector

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

Generic heterogeneous vector

Instances

Instances details
ArityC Eq xs => Eq (HVec xs) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

Methods

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

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

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

Defined in Data.Vector.HFixed.HVec

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 # 
Instance details

Defined in Data.Vector.HFixed.HVec

Methods

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

show :: HVec xs -> String #

showList :: [HVec xs] -> ShowS #

ArityC Semigroup xs => Semigroup (HVec xs) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

Methods

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

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

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

(ArityC Monoid xs, ArityC Semigroup xs) => Monoid (HVec xs) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

Methods

mempty :: HVec xs #

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

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

ArityC NFData xs => NFData (HVec xs) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

Methods

rnf :: HVec xs -> () #

Arity xs => HVector (HVec xs) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

Associated Types

type Elems (HVec xs) :: [Type] 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 # 
Instance details

Defined in Data.Vector.HFixed.HVec

type Elems (HVec xs) = xs

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

Heterogeneous vector parametrized by common type constructor.

Instances

Instances details
Arity xs => HVectorF (HVecF xs :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

Associated Types

type ElemsF (HVecF xs) :: [α] Source #

Methods

inspectF :: forall (f :: α -> Type) a. HVecF xs f -> TFun f (ElemsF (HVecF xs)) a -> a Source #

constructF :: forall (f :: α -> Type). TFun f (ElemsF (HVecF xs)) (HVecF xs f) Source #

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

Defined in Data.Vector.HFixed.HVec

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 # 
Instance details

Defined in Data.Vector.HFixed.HVec

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 # 
Instance details

Defined in Data.Vector.HFixed.HVec

Methods

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

show :: HVecF xs f -> String #

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

type ElemsF (HVecF xs :: (Type -> Type) -> Type) Source # 
Instance details

Defined in Data.Vector.HFixed.HVec

type ElemsF (HVecF xs :: (Type -> Type) -> Type) = xs