Agda-2.3.2.2: examples/outdated-and-incorrect/Alonzo/TestVec.agda
module TestVec where
open import PreludeNatType
open import PreludeShow
infixr 40 _::_
data Vec (A : Set) : Nat -> Set where
[] : Vec A zero
_::_ : {n : Nat} -> A -> Vec A n -> Vec A (suc n)
head : {A : Set}{n : Nat} -> Vec A (suc n) -> A
head (x :: _) = x -- no need for a [] case
length : {A : Set}{n : Nat} -> Vec A n -> Nat
length {A} {n} v = n
three : Vec Nat 3
three = 1 :: 2 :: 3 :: []
mainS = showNat (length three)