Dario, I'm afraid I can't help. Firstly, I do not really understand your questions. But even if I understood, I am not sure I could answer authoritatively.
On 05/22, Dario Sanfilippo wrote: > > On Fri, 22 May 2020 at 20:22, Oleg Nesterov <o...@redhat.com> wrote: > > > On 05/22, Dario Sanfilippo wrote: > > > > > > Sorry for the confusion. What I wanted to ask is: why aren't the extra > > > parentheses making a difference? Because (0, (1,2,3)) is parsed as > > > ((0),((1,2,3)), right? > > > I missed a parenthesis, I meant that (0, (1,2,3)) is parsed as ((0), > ((1,2,3))) Why do you think so? OK, please consider f(((x,y))) = x+y; f( (x,y) ) = x-y; process(x,y) = f((x,y)); note the compiler warning: WARNING : shadowed pattern-matching rule: (<x>,<y>) => x,y : -; previous rule was: (<x>,<y>) => x,y : +; See? The extra parentheses make no difference. And why do you think they should? IMO, this would be insane. Suppose you change the compiler so that ba.count(((1,2,3))) returns 1. Now, what should this program L1 = 1,2,3; L2 = (1,2,3); process = ba.count(L1), ba.count((L1)), ba.count(L2), ba.count((L2)); output? Or this one process = ba.count(par(i,3,i)), ba.count((par(i,3,i))); ? The current rules are at least clear/understandable, and whatever you or me think it is too late to change them. Oleg. _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users