If I understand correctly, this may improve 
soon: https://github.com/JuliaLang/julia/pull/9913#issuecomment-71341494

On Monday, January 26, 2015 at 12:53:33 PM UTC-5, Ivar Nesje wrote:
>
> You need to use  
>
> (&)([true,true], [true,false],[false,true])
>
> I think this is because & is used as a special character in ccall. I have 
> seen this raised a few times, but I don't know what to search for to find 
> the previous discussions.
>
> Regards Ivar
>
> mandag 26. januar 2015 15.33.06 UTC+1 skrev Patrick O'Leary følgende:
>>
>> Using JuliaParser.jl as a reference, it loks like & is in the class 
>> unary_and_binary_ops, as well as syntactic_binary_ops. The | operator is 
>> not in either of these classes. At least one reason for the difference in 
>> lowering to the AST is that & is also an addressof-like operator in the 
>> context of a ccall. I suspect, however, that the inconsistency in usage of 
>> the surface syntax can be regarded as a bug--you should go ahead and file 
>> an issue.
>>
>> On Monday, January 26, 2015 at 6:28:49 AM UTC-6, Gabriel Mitchell wrote:
>>>
>>> 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