On 09/09, yann orlarey wrote: > > Hi Oleg, > > `process = @(2) : @(-1);` is incorrect because `@(-1)` is incorrect.
'@(-1)' is incorrect per se, but '@(2) : @(-1)' used to work and imo it was useful. Say, tkeoN(n) = @(n) <: ^(2) - @(0+n)*@(0-n); > The > optimisations made by the compiler should not change the correctness of the > compiled program. Well, optimisations is very important part of faust ;) this code process = @(ba.time - ba.time); or this process = @(ba.time * 0); is correct. Now it can't be compiled too, by the same reason. Again, I do not pretend I understand faust internals, but it seems that we can simply remove the interval checks in infereSigType(); if interval is not valid or lo < 0 checkDelayInterval() should notice the problem later? > Therefore I think the current behavior of the compiler is > the right one. I can't argue, but to me this looks as unfortunate pessimization. Oleg. _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users