License: Creative Commons Attribution 3.0 Germany license (CC BY 3.0 DE)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.1.1.9
URN: urn:nbn:de:0030-drops-55189
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2015/5518/
Biboudis, Aggelos ;
Palladinos, Nick ;
Fourtounis, George ;
Smaragdakis, Yannis
Streams à la carte: Extensible Pipelines with Object Algebras (Artifact)
Abstract
In Streams à la carte we address extensibility shortcomings in libraries for lazy-streaming queries with a new design. The architecture underlying this design borrows heavily from Oliveira and Cook's object algebra solution to the expression problem, extended with a design that exposes the push/pull character of the iteration, and an encoding of higher-kinded polymorphism.
In this library we apply our design to Java and show that the addition of full extensibility is accompanied by high performance, matching or exceeding that of the original, highly-optimized Java streams library.
In this artifact we present a fundamental set of sequential operators map, filter, reduce, count, take/limit and iterate.
Additionally we present the behaviors that are discussed in the paper: push, pull, fused pull, logging, id (for blocking terminal operators), future (for non-blocking terminal operators).
BibTeX - Entry
@Article{biboudis_et_al:DARTS:2015:5518,
author = {Aggelos Biboudis and Nick Palladinos and George Fourtounis and Yannis Smaragdakis},
title = {{Streams {\`a} la carte: Extensible Pipelines with Object Algebras (Artifact)}},
pages = {9:1--9:2},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2015},
volume = {1},
number = {1},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2015/5518},
URN = {urn:nbn:de:0030-drops-55189},
doi = {10.4230/DARTS.1.1.9},
annote = {Keywords: object algebras, streams, extensibility, domain-specific languages, expression problem, library design}
}
Keywords: |
|
object algebras, streams, extensibility, domain-specific languages, expression problem, library design |
Collection: |
|
DARTS, Volume 1, Issue 1 |
Related Scholarly Article: |
|
http://dx.doi.org/10.4230/LIPIcs.ECOOP.2015.591 |
Issue Date: |
|
2015 |
Date of publication: |
|
30.10.2015 |