@Ivar
Thanks, that got the thing working. 

@Matt
Thanks for the link.

On Monday, January 26, 2015 at 7:30:41 PM UTC+1, Matt Bauman wrote:
>
> 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