A Co-iterative Characterization of Synchronous Stream Functions


Paul Caspi and Marc Pouzet

Coalgebraic Methods in Computer Science, (Etaps), Lisboa, April 1998,

volume 11 of Electronic Notes in Theoretical Computer Science, Elsevier.


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 package built on top of an ML-like language is briefly described.


Postscript