Prelude Data.Array.Repa> :t Data.Array.Repa.map
:: (Shape sh, Repr r a) => (a -> b) -> Array r sh a -> Array D sh b
Prelude Data.Array.Repa> :t Data.Array.Repa.zipWithData.Array.Repa.zipWith
:: (Shape sh, Repr r2 b, Repr r1 a) =>
(a -> b -> c) -> Array r1 sh a -> Array r2 sh b -> Array D sh c
-- | Delayed arrays are represented as functions from the index to element value.
-- Every time you index into a delayed array the element at that position
-- is recomputed.
data instance Array D sh e
(sh -> e)