Stream Types

被引:0
|
作者
Cutler, Joseph W. [1 ]
Watson, Christopher [1 ]
Nkurumeh, Emeka [2 ]
Hilliard, Phillip [1 ]
Goldstein, Harrison [1 ]
Stanford, Caleb [3 ]
Pierce, Benjamin C. [1 ]
机构
[1] Univ Penn, Philadelphia, PA 19104 USA
[2] CALTECH, Pasadena, CA USA
[3] Univ Calif Davis, Davis, CA USA
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2024年 / 8卷 / PLDI期
关键词
Type Systems; Stream Processing; Ordered Logic; Bunched Implication; SEMANTIC-FOUNDATIONS; LANGUAGE; LOGIC;
D O I
10.1145/3656434
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 Curry-Howard-like of transformers over typed streams that 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 derivatives to enable an incremental, prefix-based operational semantics. To illustrate the programming style supported by the rich types of lambda(ST), we present a number of examples written in Delta, a prototype high-level language design based on lambda(ST).
引用
收藏
页数:25
相关论文
共 50 条
  • [21] Rewriting for Sound and Complete Union, Intersection and Negation Types
    Pearce, David J.
    PROCEEDINGS OF THE 16TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES (GPCE'17), 2017, : 117 - 130
  • [22] H-STREAM: Composing Microservices for Enacting Stream and Histories Analytics Pipelines
    Vargas-Solar, Genoveva
    Espinosa-Oviedo, Javier A.
    SERVICE-ORIENTED COMPUTING (ICSOC 2021), 2021, 13121 : 867 - 874
  • [23] SeQual-Stream: approaching stream processing to quality control of NGS datasets
    Óscar Castellanos-Rodríguez
    Roberto R. Expósito
    Juan Touriño
    BMC Bioinformatics, 24
  • [24] SeQual-Stream: approaching stream processing to quality control of NGS datasets
    Castellanos-Rodriguez, Oscar
    Exposito, Roberto R.
    Tourino, Juan
    BMC BIOINFORMATICS, 2023, 24 (01)
  • [25] Column Access-aware In-stream Data Cache with Stream Processing Framework
    Kun Ma
    Bo Yang
    Journal of Signal Processing Systems, 2017, 86 : 191 - 205
  • [26] I-DLV-sr: A Stream Reasoning System based on I-DLV
    Calimeri, Francesco
    Manna, Marco
    Mastria, Elena
    Morelli, Maria Concetta
    Perri, Simona
    Zangari, Jessica
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2021, 21 (05) : 610 - 628
  • [27] On declarative rewriting for sound and complete union, intersection and negation types
    Pearce, David J.
    JOURNAL OF COMPUTER LANGUAGES, 2019, 50 : 84 - 101
  • [28] Column Access-aware In-stream Data Cache with Stream Processing Framework
    Ma, Kun
    Yang, Bo
    JOURNAL OF SIGNAL PROCESSING SYSTEMS FOR SIGNAL IMAGE AND VIDEO TECHNOLOGY, 2017, 86 (2-3): : 191 - 205
  • [29] Modeling Abstract Types in Modules with Open Existential Types
    Montagu, Benoit
    Remy, Didier
    ACM SIGPLAN NOTICES, 2009, 44 (01) : 354 - 365
  • [30] A survey on transactional stream processing
    Zhang, Shuhao
    Soto, Juan
    Markl, Volker
    VLDB JOURNAL, 2024, 33 (02) : 451 - 479