Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stream Types by Pierce et al, PLDI 2024 #10

Open
vituscze opened this issue Nov 12, 2024 · 0 comments
Open

Stream Types by Pierce et al, PLDI 2024 #10

vituscze opened this issue Nov 12, 2024 · 0 comments
Assignees
Labels
FP functional programming

Comments

@vituscze
Copy link

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

PDF

Abstract

We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals. First, the type of a stream should be able to express complex sequential patterns of events over time. And second, 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 λST of transformers over typed streams that naturally supports a number of common streaming idioms, including punctuation, windowing, and parallel partitioning, as first-class constructions. λ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 derivatives to enable an incremental, prefix-based operational semantics. To illustrate the programming style supported by the rich types of λST, we present a number of examples written in Delta, a prototype high-level language design based on λST.

Why are you interested in it or why should it be a good idea?

Very interesting stream transformer language based on an ordered substructural type system. Practical uses of substructural type systems without the exchange rule are few and far between.

@tpetricek tpetricek added the FP functional programming label Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FP functional programming
Projects
None yet
Development

No branches or pull requests

2 participants