Dimension is a functor. This is true for points in space as well as arrays (more concretely).
Consider a point in \( \mathbb{R} \). Then \( x \mapsto (x, 0) \) is a map \( \mathbb{R} \rightarrow \mathbb{R}^2 \); \( F_f(x) = (f(x), 0) \). One can imagine many such functors adding two dimensions, etc.
In J, looping is characteristically idiosyncratic: one lifts
verbs with the aid of the "
conjunction.
This iteration applying functions resembles functors in Haskell:
fmap :: Functor f => (a -> b) -> f a -> f b
i.e. "
gives us a family of functors, indexed by integers.