fixed-vector-hetero-0.3.1.1: Generic heterogeneous vectors

Safe HaskellNone
LanguageHaskell98

Data.Vector.HFixed.Functor.HVecF

Description

 

Synopsis

Documentation

newtype HVecF xs f #

Partially heterogeneous vector which can hold elements of any type.

Constructors

HVecF 

Fields

Instances

Arity xs => HVectorF (HVecF xs) # 

Associated Types

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

Methods

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

constructF :: TFun * f (ElemsF (HVecF xs)) (HVecF xs f) #

(Arity xs, ArityC Eq (Wrap * * f xs)) => Eq (HVecF xs f) # 

Methods

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

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

(Arity xs, ArityC Eq (Wrap * * f xs), ArityC Ord (Wrap * * f xs)) => Ord (HVecF xs f) # 

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 #

(Arity xs, ArityC NFData (Wrap * * f xs)) => NFData (HVecF xs f) # 

Methods

rnf :: HVecF xs f -> () #

(Arity (Wrap * * f xs), Arity xs) => HVector (HVecF xs f) #

It's not possible to remove constrain Arity (Wrap f xs) because it's required by superclass and we cannot prove it for all f. witWrapped allow to generate proofs for terms

Associated Types

type Elems (HVecF xs f) :: [*] #

Methods

construct :: Fun (Elems (HVecF xs f)) (HVecF xs f) #

inspect :: HVecF xs f -> Fun (Elems (HVecF xs f)) a -> a #

type ElemsF (HVecF xs) # 
type ElemsF (HVecF xs) = xs
type Elems (HVecF xs f) # 
type Elems (HVecF xs f) = Wrap * * f xs