mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-26 05:01:34 +03:00
30 lines
408 B
Markdown
30 lines
408 B
Markdown
```idris
|
|
data Vect : Nat -> Type -> Type where
|
|
Nil : Vect Z a
|
|
(::) : a -> Vect k a -> Vect (S k) a
|
|
```
|
|
|
|
<!-- idris
|
|
%name Vect xs, ys, zs
|
|
-->
|
|
|
|
```idris
|
|
dupAll : Vect n a -> Vect n (a, a)
|
|
dupAll xs = zipHere xs xs
|
|
where
|
|
zipHere : forall n . Vect n a -> Vect n b -> Vect n (a, b)
|
|
```
|
|
|
|
|
|
<!-- idris
|
|
|
|
data Foobar = MkFoo
|
|
|
|
-->
|
|
|
|
|
|
```idris
|
|
showFooBar : Foobar -> String
|
|
showFooBar MkFoo = "MkFoo"
|
|
```
|