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.