Introducing Stateful Conditional Branching in Ciaramella
- Authors
- Paolo Marrone1, Stefano D'Angelo1, Federico Fontana2
- Status
- Published in Proceedings of the 20th Sound and Music Computing Conference (SMC-23), pp. 21–26, Stockholm, Sweden, June 2023
- 1
- Orastron Srl, Sessa Cilento, Italy
- 2
- Università degli Studi di Udine, Udine, Italy
BibTeX
@inproceedings{marrone23ciaramellaif,
title={Introducing stateful conditional branching in Ciaramella},
author={Marrone, Paolo and D'Angelo, Stefano and Fontana, Federico},
booktitle={Proc. 20\textsuperscript{th} Sound and Music Comp. Conf. (SMC-23)},
pages={21--26},
month={June},
year={2023},
address={Stockholm, Sweden}
}Abstract
Conditional branching in Synchronous Data Flow (SDF) networks is a long-standing issue as it clashes with the underlying synchronicity model. For this reason, conditional update of state variables is rarely implemented in data flow programming environments, unlike simpler selection operators that do not execute code conditionally. We propose an extension to SDF theory to represent stateful conditional branching. We prove the effectiveness of such approach by adding conditional constructs to the Ciaramella programming language without compromising its modular declarative paradigm and maintaining domain-specific optimizations intact. This addition enables easy implementation of common DSP algorithms and helps in writing efficient complex programs.