要素数を保持するVector型
Idrisの場合
import Data.Vect
idrdata Vect : Nat -> Type -> Type where
Nil : Vect Z a
(::) : a -> Vect k a -> Vect (S k) a
hsの場合
index :: forall n a. Vector n a -> Finite n -> a
generate :: forall n a. KnownNat n => (Finite n -> a) -> Vector n a
hsv = V.fromTuple ("hey", "what's", "going", "on") -- :: V.Vector 4 String
a = V.index v 1 -- "what's"
b = V.generate (\i -> V.index v (i-2)) -- ["going","on","hey","what's"]
c = V.generate (V.index v) -- ["hey","what's","going","on"]
generateの普通の使い方がわからん
