I adapted the xor example here from Python; they used NumPy.
Dimension is a functor. This is true for points in space as well as arrays (more concretely).
I ported a Python tutorial to J.
When writing a compiler, one typically annotates the syntax tree in various phases. What the nodes are annotated with will vary over the course of the program; one might add type information during a type synthesis phase.
Linear logic is often introduced with unintuitive and contrived examples involving food. For computer scientists, linear logic is well motivated by memory management à la C.next