I would love to get rid of the horizontal concatenation usage of space. It massively complicates a lot of things. It's definitely the most fiddly thing about Julia's parsing.
On Thu, Mar 5, 2015 at 8:22 PM, Tony Kelman <[email protected]> wrote: > > I suppose this is related to + and - being unary operators? > > Ding ding. Unfortunately space being the horizontal concatenation operator > means some operations parse very differently and in highly > whitespace-sensitive ways depending whether they are inside or outside an > array literal. Would be nice if that were not the case, but I think we'd > need another delimiter character aside from , or ; to really separate > horizontal concatenation from vertical concatenation from list construction. > > julia> j=2; [ 1 +j ] > 1x2 Array{Int64,2}: > 1 2 > > julia> j=2; [ 1 + j ] > 1-element Array{Int64,1}: > 3 > > julia> j=2; 1 +j > 3 > > julia> j=2; 1 + j > 3 > > > On Thursday, March 5, 2015 at 4:56:20 PM UTC-8, Amuthan A. Ramabathiran > wrote: >> >> Not sure if this has been discussed earlier... can someone explain whats >> happening here? >> >> julia> b = [ 1 +j for j = 1:5 ] >> ERROR: syntax: invalid comprehension syntax >> >> julia> b = [ 1 + j for j = 1:5 ] >> 5-element Array{Int64,1}: >> 2 >> 3 >> 4 >> 5 >> 6 >> >> >> This happens with both + and -, but not with * or /. I suppose this is >> related to + and - being unary operators? >> >> Thanks! >> Amuthan. >> >
