Why is it ok to write `1 .-A`

but not `[A;1 .-A]`

? Somehow, it only works with a space between `-`

and `A`

.

Is it because Julia prioritize the `A;1`

part over the `1 .-A`

part ? Is there any documentation on how and why julia prioritize one over the other ?

```
julia> A = rand(3,3)
3×3 Matrix{Float64}:
0.740468 0.317305 0.247191
0.734218 0.903331 0.647368
0.115604 0.461894 0.854236
julia> [A;1 .-A]
ERROR: DimensionMismatch: mismatch in dimension 1 (expected 1 got 3)
Stacktrace:
[1] _cs
@ ./abstractarray.jl:1717 [inlined]
[2] _cshp
@ ./abstractarray.jl:1713 [inlined]
[3] _cat_size_shape
@ ./abstractarray.jl:1693 [inlined]
[4] cat_size_shape
@ ./abstractarray.jl:1691 [inlined]
[5] _cat_t
@ ./abstractarray.jl:1732 [inlined]
[6] typed_hcat(::Type{Float64}, ::Int64, ::Matrix{Float64})
@ Base ./abstractarray.jl:1881
[7] typed_hvcat(::Type{Float64}, ::Tuple{Int64, Int64}, ::Matrix{Float64}, ::Vararg{Any})
@ Base ./abstractarray.jl:2094
[8] hvcat(::Tuple{Int64, Int64}, ::Matrix{Float64}, ::Vararg{Union{Number, LinearAlgebra.AbstractTriangular{T, A} where {T, A<:(Matrix)}, Adjoint{<:Any, <:Vector}, Bidiagonal, Diagonal, Hermitian{T, A} where {T, A<:(Matrix)}, SymTridiagonal, Symmetric{T, A} where {T, A<:(Matrix)}, Transpose{<:Any, <:Vector}, Tridiagonal, Matrix, Vector}})
@ LinearAlgebra ~/julia/julia-1.8.3/share/julia/stdlib/v1.8/LinearAlgebra/src/special.jl:422
[9] top-level scope
@ REPL[2]:1
julia> [A;1 .- A]
6×3 Matrix{Float64}:
0.740468 0.317305 0.247191
0.734218 0.903331 0.647368
0.115604 0.461894 0.854236
0.259532 0.682695 0.752809
0.265782 0.0966693 0.352632
0.884396 0.538106 0.145764
julia> 1 .-A
3×3 Matrix{Float64}:
0.259532 0.682695 0.752809
0.265782 0.0966693 0.352632
0.884396 0.538106 0.145764
```