A Co-iterative Characterization of Synchronous Stream Functions
Résumé
This paper presents an attempt to characterize synchronous stream functions within the framework of co-iteration and to use this characterization in building a compiler for (higher order and recursive) synchronous data-flow programs. First, length-preserving functions are considered and we show that streams equipped with such functions form a Cartesian-closed category. Then this point of view is extended toward non length-preserving ones and we stress the use of “empty” values in handling this case. Finally, the implementation we did of this material in a synchronous stream language built on top of an ML-like language is briefly described.