Data.Vector.HFixed.Class

Types and type classes

Peano numbers

data S n

data Z

Isomorphism between Peano numbers and Nats

class NatIso a b

type family ToPeano (b :: Nat) :: * where ...

type family ToNat a :: Nat where ...

N-ary functions

type family Fn (as :: [*]) b

data Fun as b

data TFun f as b

funToTFun

tfunToFun

Type functions

data Proxy k t

type family (xs :: [α]) ++ (ys :: [α]) :: [α]

type family Len (xs :: [α]) :: *

type family Wrap (f :: α -> β) (a :: [α]) :: [β]

type family HomList n (a :: α) :: [α]

Type classes

class Arity xs

class ArityC c xs

class HVector v

class HVectorF v

Witnesses

data WitWrapped f xs

data WitConcat xs ys

data WitNestedFun xs ys r

data WitLenWrap f xs

data WitWrapIndex f n xs

data WitAllInstances c xs

CPS-encoded vector

data ContVec xs

data ContVecF xs f

toContVec

toContVecF

cons

consF

Interop with homogeneous vectors

class HomArity n a

homInspect

homConstruct

Operations of Fun

Primitives for Fun

curryFun

uncurryFun

uncurryFun2

curryMany

constFun

stepFun

Primitives for TFun

curryTFun

uncurryTFun

uncurryTFun2

shuffleTF

More complicated functions

concatF

shuffleF

lensWorkerF

class Index n xs