Stream Types
Joseph W. Cutler, Christopher Watson, Emeka Nkurumeh, Phillip, Hilliard, Harrison Goldstein, Caleb Stanford, Benjamin C. Pierce

TL;DR
This paper develops a comprehensive theoretical framework for typed data streams and stream transformers, enabling complex pattern expression and deterministic parallel processing, with a prototype language demonstrating its practical use.
Contribution
It introduces stream types with operators for composition and a core calculus lambda-ST, supporting common streaming idioms and a Curry-Howard correspondence for compositional programming.
Findings
Supports complex sequential pattern expression in streams
Enables deterministic parallel stream processing
Provides a prototype language delta for practical programming
Abstract
We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals: (1) The type of a stream should be able to express complex sequential patterns of events over time. And (2) it should describe the internal parallel structure of the stream to support deterministic stream processing on parallel and distributed systems. To these ends, we introduce stream types, with operators capturing sequential composition, parallel composition, and iteration, plus a core calculus lambda-ST of transformers over typed streams which naturally supports a number of common streaming idioms, including punctuation, windowing, and parallel partitioning, as first-class constructions. lambda-ST exploits a Curry-Howard-like correspondence with an ordered variant of the logic of Bunched Implication to program with streams compositionally and uses Brzozowski-style…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGroundwater flow and contamination studies
