Streams à la carte: Extensible Pipelines with Object Algebras (Artifact)

Authors Aggelos Biboudis, Nick Palladinos, George Fourtounis, Yannis Smaragdakis

Thumbnail PDF

Artifact Description

  • Filesize: 343 kB
  • 2 pages

Document Identifiers

Author Details

Aggelos Biboudis
Nick Palladinos
George Fourtounis
Yannis Smaragdakis

Cite AsGet BibTex

Aggelos Biboudis, Nick Palladinos, George Fourtounis, and Yannis Smaragdakis. Streams à la carte: Extensible Pipelines with Object Algebras (Artifact). In Special Issue of the 29th European Conference on Object-Oriented Programming (ECOOP 2015). Dagstuhl Artifacts Series (DARTS), Volume 1, Issue 1, pp. 9:1-9:2, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2015)



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).
  • object algebras
  • streams
  • extensibility
  • domain-specific languages
  • expression problem
  • library design


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads