Both A[1, :] and A[:, 1] are Vectors. There is no difference between column vectors and row vectors.

This generalizes to multidimensional arrays, where all indices but one are scalars (e.g. A[1, 2, :, 4] returns a Vector). So, it seems strange treating the specific situation A[i, :] any differently (in case you think it should return a Transpose, for example).

What you refer to as a row vector is known in Julia as a Matrix or a 2D Array with only one row, so if you want that definition, use the A[1:1,:] notation.

To be more specific. One of the outcomes of the 4774 issue was the need to have true row vectors (now called Adjoint in Julia) that are different from 1xn matrices to have e.g. inner products a'*b return scalars. Since julia has these “true” row vectors and indexing like A[:,1] returns a column vector (instead of a nx1 matrix) I was wondering if this could work

I see your point about multidimensional arrays as Array in base julia has no concept of up or down indices. i.e. a distinction between tensors A^{ij}_{kl} and A^{ijk}_l so there is no way to tell whether A[1,2,:,4] should return a row or column vector but for the 2D case the convention A^i_j seems useful.