n-tuple-0.0.1.1: Homogeneous tuples of arbitrary length.

Safe HaskellNone
LanguageHaskell2010

Data.NTuple

Contents

Synopsis

Documentation

data NTuple size a Source

Instances

Functor (NTuple size) Source 
Foldable (NTuple size) Source 
Traversable (NTuple size) Source 
Eq a => Eq (NTuple size a) Source 
(Data a, Typeable Nat size) => Data (NTuple size a) Source 
Show a => Show (NTuple size a) Source 
Generic (NTuple size a) Source 
type Rep (NTuple size a) Source 

proj Source

Arguments

:: (n <= size, (n :> 0) ~ True, KnownNat n) 
=> Proxy n

The index

-> NTuple size a 
-> a 

Project an element out of the tuple

incl Source

Arguments

:: (n <= (size + 1), (n :> 0) ~ True, KnownNat n, size' ~ If (n :== (size + 1)) (size + 1) size) 
=> Proxy n

The index

-> a 
-> NTuple size a 
-> NTuple size' a 

Include an element to the tuple, overwriting on an existing index

toVector :: NTuple size a -> Vector a Source

Proxies