blob: 06c7852355f628b7b4e9228ea4fdd3c5301c70ad [file] [edit]
inductive Vector (α : Type u) : Nat → Type u
| nil : Vector α 0
| cons : α → Vector α n → Vector α (n+1)
deriving Repr
infix:67 " :: " => Vector.cons
def tabulate (f : Fin n → α) : Vector α n :=
match n with
| 0 => Vector.nil
| n+1 => f 0 :: tabulate (f ∘ Fin.succ)
#eval tabulate fun i : Fin 5 => i