Here are two statements, one written with chained binary operations the 
other in prefix notation 

>>[true,true] | [true,false] | [false,true]
2-element Array{Bool,1}:
 true
 true
>>|([true,true], [true,false],[false,true])
2-element Array{Bool,1}:
 true
 true


Now I can also do the first for & as in
>>[true,true] & [true,false] & [false,true]
2-element Array{Bool,1}:
 false
 false

However if I try this in the prefix notation

&([true,true], [true,false],[false,true])

unsupported or misplaced expression &
while loading In[32], in expression starting on line 1

Looking a little closer, I find that the parser does this

>>:(|([true,true], [true,false],[false,true])).head
:call
>>:(&([true,true], [true,false],[false,true])).head
:&

Can someone tell me, is this behavior for '&' on purpose? If so can someone 
point to some documentation so I can read about said purpose? I was 
interested in making calls in the function prefix notation so that i can 
write something like '&(bunchofarrays...)'. This works for '|' but not for 
'&' on my version (0.3.4). Or if there is a more idiomatic way to achieve 
this effect I'd also like to here.

Reply via email to