Functional Meaning for Parallel Streaming
Nick Rioux, Steve Zdancewic
摘要
Nondeterminism introduced by race conditions and message reorderings makes parallel and distributed programming hard. Nevertheless, promising approaches such as LVars and CRDTs address this problem by introducing a partial order structure on shared state that describes how the state evolves over time. Monotone programs that respect the order are deterministic. Datalog-inspired languages incorporate this idea of monotonicity in a first-class way but they are not general-purpose. We would like parallel and distributed languages to be as natural to use as any functional language, without sacrificing expressivity, and with a formal basis of study as appealing as the lambda calculus.
This paper presents ∨ , a core language for deterministic parallelism that embodies the ideas above. In ∨ , values may increase over time according to a streaming order and all computations are monotone with respect to that order. The streaming order coincides with the approximation order found in Scott semantics and so unifies the foundations of functional programming with the foundations of deterministic distributed computation. The resulting lambda calculus has a computationally adequate model rooted in domain theory. It integrates the compositionality and power of abstraction characteristic of functional programming with the declarative nature of Datalog.
This version of the paper includes extended exposition and appendices with proofs.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper5
- Seminaïve evaluation for a higher-order functional languageMichael Arntzenius, Neel KrishnaswamiPOPL 2020 · 被引用 15 次
- Keep CALM and CRDT OnShadaj Laddad, Conor Power, Mae Milano, Alvin Cheung 等VLDB 2023 · 被引用 13 次
- A Bowtie for a Beast: Overloading, Eta Expansion, and Extensible Data Types in F⋈Nick Rioux, Xuejing Huang, Bruno C. d. S. Oliveira, Steve ZdancewicPOPL 2023 · 被引用 10 次
- Stream TypesJoseph W. Cutler, Christopher Watson, Emeka Nkurumeh, Phillip Hilliard 等PLDI 2024 · 被引用 7 次
- Flo: A Semantic Foundation for Progressive Stream ProcessingShadaj Laddad, Alvin Cheung, Joseph M. Hellerstein, Mae MilanoPOPL 2025 · 被引用 3 次
相关 Paper
- Par means parallel: multiplicative linear logic proofs as concurrent functional programsFederico Aschieri, Francesco A. GencoPOPL 2020 · 被引用 1 次
- Monoidal Streams for Dataflow ProgrammingElena Di Lavore, Giovanni de Felice, Mario RománLICS 2022 · 被引用 10 次
- Monadic and comonadic aspects of dependency analysisPritam ChoudhuryOOPSLA 2022 · 被引用 2 次
- Reactive probabilistic programmingGuillaume Baudart, Louis Mandel, Eric Atkinson, Benjamin Sherman 等PLDI 2020 · 被引用 1 次
- Wiring the π-Calculus to Denotational SemanticsKen Sakayori, Davide Sangiorgi, Simon Castellan, Pierre ClairambaultLICS 2026
