VecN-0.0.1: a simple peano-indexed vector type

Safe HaskellSafe
LanguageHaskell98

Data.VecN

Description

A simple peano-indexed vector type, some instances and functions

Documentation

data VecN p a where Source

Constructors

VecZero :: VecN Zero a 
(:>) :: a -> VecN p a -> VecN (Succ p) a 

Instances

Functor (VecN p) => Functor (VecN (Succ p)) Source 
Functor (VecN Zero) Source 
Applicative (VecN p) => Applicative (VecN (Succ p)) Source 
Applicative (VecN Zero) Source 
Foldable (VecN p) => Foldable (VecN (Succ p)) Source 
Foldable (VecN Zero) Source 
(Eq a, Eq (VecN p a)) => Eq (VecN (Succ p) a) Source 
Eq a => Eq (VecN Zero a) Source 
(Ord a, Ord (VecN p a)) => Ord (VecN (Succ p) a) Source 
Ord a => Ord (VecN Zero a) Source 
(Show a, Show (VecN p a)) => Show (VecN (Succ p) a) Source 
Show a => Show (VecN Zero a) Source 

head :: VecN (Succ p) a -> a Source

tail :: VecN (Succ p) a -> VecN p a Source