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