Haskell is the best imperative language [1].
[1] https://stackoverflow.com/questions/6622524/why-is-haskell-s...
Haskell have array-oriented programming embedded DSLs, like REPA [2] and Accelerate [3].
[2] https://hackage.haskell.org/package/repa
[3] https://hackage.haskell.org/package/accelerate
The most used (by me) Vector package has boxed (efficient) and unboxed (J-like) arrays. With these arrays having map, fold, scan, fromList/toList, zip and unzip combinators, one can have as terse (in the operator count sense) notation as one wishes for.