Lune

LICS2025Top-tier venue

Functional Stream Semantics for a Synchronous Block-Diagram Compiler

Timothy Bourke, Paul Jeanmaire, Marc Pouzet

2025Year

Abstract

Synchronous block-diagram languages have long been formalized as fixpoints of equations defining stream functions. We apply this approach to a compiler verified in an interactive theorem prover, allowing us to restate its end-to-end correctness theorem: if a program is accepted and has no runtime errors, its input/output behavior is preserved in the generated code. In a functional semantics, it is necessary to model all possible behaviors, including erroneous ones. We show that static typing and dependency analyses correctly rule out all errors except those arising from logical and arithmetic operators. Our definitions supplement existing formal ones, especially for the reset operator, which is both useful in itself and a basis of advanced control structures.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext a0a12fea-5554-4eb1-a3c8-390d87e19786

Builds on3

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines