15 lines
361 B
Agda
15 lines
361 B
Agda
|
|
module Matrix where
|
|||
|
|
|
|||
|
|
open import Data.Nat
|
|||
|
|
open import Data.Vec
|
|||
|
|
|
|||
|
|
Matrix : (A : Set) → ℕ → ℕ → Set
|
|||
|
|
Matrix A m n = Vec (Vec A m) n
|
|||
|
|
|
|||
|
|
transpose : ∀ {A m n} → Matrix A m n → Matrix A n m
|
|||
|
|
transpose [] = replicate []
|
|||
|
|
transpose (xs ∷ xss) = zipWith _∷_ xs (transpose xss)
|
|||
|
|
|
|||
|
|
a = (1 ∷ 2 ∷ 3 ∷ []) ∷ (4 ∷ 5 ∷ 6 ∷ []) ∷ []
|
|||
|
|
b = transpose a
|