Electronic Proceedings in Theoretical Computer Science (Jun 2014)

Foundations of Total Functional Data-Flow Programming

  • Baltasar Trancón y Widemann,
  • Markus Lepper

DOI
https://doi.org/10.4204/EPTCS.153.10
Journal volume & issue
Vol. 153, no. Proc. MSFP 2014
pp. 143 – 167

Abstract

Read online

The field of declarative stream programming (discrete time, clocked synchronous, modular, data-centric) is divided between the data-flow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In this paper, we describe the foundations of a framework for unifying functional and data-flow styles that differs from FRP proper in significant ways: It is based on set theory to match the expectations of domain experts, and the two paradigms are reduced symmetrically to a low-level middle ground, with strongly compositional semantics. The design of the framework is derived from mathematical first principles, in particular coalgebraic coinduction and a standard relational model of stateful computation. The abstract syntax and semantics introduced here constitute the full core of a novel stream programming language.