Fusing Effectful Comprehensions

Olli Saarikivi, Margus Veanes, Todd Mytkowicz, Madan Musuvathi

Tutkimustuotos: Artikkeli kirjassa/konferenssijulkaisussaConference contributionScientificvertaisarvioitu

4 Sitaatiot (Scopus)

Abstrakti

List comprehensions provide a powerful abstraction mechanism for expressing computations over ordered collections of data declaratively without having to use explicit iteration constructs. This paper puts forth effectful comprehensions as an elegant way to describe list comprehensions that incorporate loop-carried state. This is motivated by operations such as compression/decompression and serialization/deserialization that are common in log/data processing pipelines and require loop-carried state when processing an input stream of data. We build on the underlying theory of symbolic transducers to fuse pipelines of effectful comprehensions into a single representation, from which efficient code can be generated. Using background theory reasoning with an SMT solver, our fusion and subsequent reachability based branch elimination algorithms can significantly reduce the complexity of the fused pipelines. Our implementation shows significant speedups over reasonable hand-written code (3.4×, on average) and traditionally fused version of the pipeline (2.6×, on average) for a variety of examples, including scenarios for extracting fields with regular expressions, processing XML with XPath, and running queries over encoded data.
AlkuperäiskieliEnglanti
OtsikkoPLDI 2017 - Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation
KustantajaACM
Sivut17-32
Sivumäärä16
ISBN (elektroninen)9781450349888
DOI - pysyväislinkit
TilaJulkaistu - 2017
OKM-julkaisutyyppiA4 Artikkeli konferenssijulkaisuussa
TapahtumaACM SIGPLAN Conference on Programming Language Design and Implementation - Barcelona, Espanja
Kesto: 18 kesäkuuta 201723 kesäkuuta 2017
Konferenssinumero: 38

Conference

ConferenceACM SIGPLAN Conference on Programming Language Design and Implementation
LyhennettäPLDI
MaaEspanja
KaupunkiBarcelona
Ajanjakso18/06/201723/06/2017

Sormenjälki Sukella tutkimusaiheisiin 'Fusing Effectful Comprehensions'. Ne muodostavat yhdessä ainutlaatuisen sormenjäljen.

Siteeraa tätä