We propose a simple calculus for processing data streams (infinite flows of data series), represented by finite sets of equations built on stream operators. Furthermore, functions defining streams are regularly corecursive, that is, cyclic calls are detected, avoiding non-termination as happens with ordinary recursion in the call-by-value evaluation strategy. As we illustrate by several examples, the combination of such two mechanisms provides a good compromise between expressive power and decidability. Notably, we provide an algorithm to check that the stream returned by a function call is represented by a well-defined set of equations which actually admits a unique solution, hence access to an arbitrary element of the returned stream will never diverge.
Enhanced Regular Corecursion for Data Streams
Davide Ancona;Pietro Barbieri;Elena Zucca
2021-01-01
Abstract
We propose a simple calculus for processing data streams (infinite flows of data series), represented by finite sets of equations built on stream operators. Furthermore, functions defining streams are regularly corecursive, that is, cyclic calls are detected, avoiding non-termination as happens with ordinary recursion in the call-by-value evaluation strategy. As we illustrate by several examples, the combination of such two mechanisms provides a good compromise between expressive power and decidability. Notably, we provide an algorithm to check that the stream returned by a function call is represented by a well-defined set of equations which actually admits a unique solution, hence access to an arbitrary element of the returned stream will never diverge.File | Dimensione | Formato | |
---|---|---|---|
main.pdf
accesso aperto
Descrizione: Contributo in atti di convegno
Tipologia:
Documento in Post-print
Dimensione
376.34 kB
Formato
Adobe PDF
|
376.34 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.