Hi Yann, Thanks for clarifying your position regarding control and enable, and their intended use.
I understand that control poses certain semantic complications. However, I would also respectfully suggest that a (properly-working) control primitive would be a powerful addition to the language, which could perhaps justify such complications. (Indeed, it would be at the top of my 'wish list' for faust features.) It would make faust an excellent tool for algorithmic composition. I understand that this is not a primary focus of the faust project, but the possibility of being able to use faust to describe not only sample-level DSP but also higher-level control structures is very appealing to me. Given your position, I do not expect anyone to fix the above issues with control's semantics. However, perhaps I can persuade you not to remove it? :) I am also considering trying to write a patch myself to fix those issues - if I ever finish such a patch, I would be grateful if it could be considered for inclusion. Nonetheless, I of course respect the right of the faust developers to steer faust as seems best to them, with or without whatever primitives they choose. Many thanks, James On 7/30/20, Yann Orlarey <orla...@grame.fr> wrote: > Hi James, > > We discourage the use of the primitive "control" that we plan to remove. As > you reported, "control" poses many semantic problems. In reality, this > primitive was essentially intended for internal use, in the compilation of > the experimental "enable" primitive (enable(x,y) -> control(x*y, y!=0)) and > it should never have been made public. > > The experimental enable(x,y) primitive has, approximately, the semantics of > x*y. But it allows to disable the computation of x when y is 0 (and if x is > not used in other circumstances). Enable therefore can save CPU in some > circumstances. But this primitive must be used with great care. In > particular, it is the responsibility of the programmer to ensure that his > use of enable(x,y) behaves as much as possible like x*y. > > Cheers > > Yann > > > *Yann Orlarey* > Directeur scientifique/Scientific director > > > orla...@grame.fr <x...@grame.fr> T : +33 (0) 4 72 07 37 00 > GRAME - Centre national de création musicale > 11 cours de Verdun Gensoul | 69002 Lyon > www.grame.fr | facebook <https://www.facebook.com/Gramelyon/> | instagram > <https://www.instagram.com/grame_cncm/> | twitter > <https://twitter.com/GRAME_LYON> _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users