Hi, Oleg.

On Sat, 23 May 2020 at 18:45, Oleg Nesterov <[email protected]> wrote:

> 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.
>

No worries, I'm sure that it's just my lack of understanding making my
questions twisted. I appreciate your time answering me.


>
> On 05/22, Dario Sanfilippo wrote:
> >
> > On Fri, 22 May 2020 at 20:22, Oleg Nesterov <[email protected]> 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?


If I'm not wrong, a similar behaviour was decribed by Julius in his section
on *count* and *take*:
https://ccrma.stanford.edu/~jos/aspf/Understanding_count_take_math_lib.html.


> 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?
>

I would have guessed that ba.count(L1) would have triggered an error, as
ba.count(1,2,3) does. Then I would have guessed 3 3 1 for the others.


>
> Or this one
>
>         process = ba.count(par(i,3,i)), ba.count((par(i,3,i)));
>
> ?
>

Error and 3.


>
> The current rules are at least clear/understandable, and whatever you or
> me think it is too late to change them.
>

Yes, I understand that.

If we could have more documentation on the eval rules as Julius suggests
that would be great.

Thanks again to all of you for your time.

Dario
_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to