Правильно ли я понял, что в джулии есть броадкаст, но нет ничего похожего на концепцию ранга из J.
Чтобы было понятно, что такое ранг, продемонстрирую на следующем примере.
a =: 3 3 $ i. 9
a
0 1 2
3 4 5
6 7 8
(+/"1) a
3 12 21
(+/"2) a
9 12 15
Когда +/ действует с рангом 1, он применяется к каждой строке матрицы отдельно, т.е. элементы в каждой строке складываются (0+1+2, 3+4+5, 6+7+8). Когда +/ действует с рангом 2, он применяется ко всей матрице, т.е. складываются уже вектора 0 1 2 + 3 4 5 + 6 7 8.
В джулии, как я понял, broadcast применяет функцию тупо ко всем скалярам. Это, я считаю, большая недоработка