Hi Oleg,

You are perfectly right! For seq, we have to check that ins(f)==outs(f) and
indicate a typing error otherwise. In addition, there is a bug when using
abstractions. They must be transformed into circuits before they can be
queried for their number of inputs and outputs.

Thanks for discovering these problems!

Yann

Le sam. 3 sept. 2022 à 09:38, Oleg Nesterov <o...@redhat.com> a écrit :

> On 09/02, Oleg Nesterov wrote:
> >
> > Hmm... but I don't understand what exactly the new neutralExpSeq()
> function
> > does... Say,
> >
> >       f = _,_;
> >       seq0 = seq(i,0,f);
> >       process = inputs(seq0), outputs(seq0);
> >
> > outputs 2,2. Good. However,
> >
> >       f = _,_ :> _;
> > or
> >       f = +;
> >
> > results in 1,1 and this doesn't look consistent to me...
>
> OK, I seem to understans. So, if we have
>
>         seq0 = seq(i,0,f);
> then
>         inputs(seq0) == outputs(seq0) == outputs(f)
>
> neutralExpSeq() doesn't take 'ins' into account. perhaps
> it should complain when ins != outs?
>
> > And with
> >       f(x,y) = x+y;
> >
> > I get
> >
> >       boxType() internal error : unrecognized box expression
> closure[\x.(\y.(x,y : +)), genv = {}, lenv = {}]
>
> just in case, even
>
>         f(x) = x;
>
> leads to the same problem, looks like a bug ;)
>
> Oleg.
>
>
_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

Reply via email to