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