, , concatMap. concatMap:
(Foldable t, Monoid m) => (a -> m) -> t a -> m
, m Monoid (a -> m), . Vect n a. :
concatMap foo vals
foo a -> Vect 4 a, concatMap, , Vect (4*n) a, n - . concatMap, concatMap, :
(Foldable t, Monoid m, Monoid m1) => (a -> m) -> t a -> m1
, , , concatMap .
[a] Vect n a , [] , concatMap. Monoid [] .
, , , , Vect n a .
a -> b -> c, Vect Vect n a -> Vect m a -> Vect (n+m) a, : [a] -> [a] ->[a].
, , , , Monoid Vect n a neutral Vect n a, [] Vect 0 a.
Monoid Vect n a.
, .
neutral n, , , neutral Monoid.
, neutral Vect n a replicate n neutral.
Monoid .
, :
instance Monoid a => Monoid (Vect n a) where
neutral = replicate n neutral
instance Semigroup a => Semigroup (Vect n a) where
Nil <+> Nil = Nil
(x :: xs) <+> (y :: ys) = (x <+> y) :: (xs <+> ys)
, / Idris, , . Haskell, .