I even consider to state there that Julia already uses typed indexes (CartesianIndex<=>LinearIndex) though that might not be entirely what they meant(that rather would be AbstractRange), it is perfectly possible. Also, while liking the style of Haskell for its intuitive suggestion of currying and chaining, we can do similar stuff:
For their example of pairwiseL1:
map(((a,b),)->sum(abs,a.-b), Iterators.product(eachcol(A), eachcol(A))) would be valid julia code.
Though, the important part here is the (imho) very concise term
sum(abs, a.-b) for the L1 distance between 2 columns.
This one even preserves custom-indexing! And it seems to be fast aswell as the functions are all iterators.
For their second example for L1 between whole images, well, we don’t even care about the shape:
sum(abs, a.-b) *hmm looks somewhat familiar I really love Julia!
But most grouping of indexing can be achieved by intermixing integer indexes and CartesianIndexes.
There’s also a german article where it is said that they still look for some native interfacing to move calculation heavy jobs to some faster language. Wouldn’t that be a very nice use case for Julia?