Computing with streams

  • Authors:
  • Joaquín Aguado;Michael Mendler

  • Affiliations:
  • The University of Bamberg, Bamberg, Germany;The University of Bamberg, Bamberg, Germany

  • Venue:
  • Proceedings of the sixth workshop on Declarative aspects of multicore programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In functional programming, the general technique for supporting stream-based computations is by means of (higher-order) functions external to the underline stream's structure. The proposal of this paper is orthogonal to this view and it is based on an alternative representation of streams that allows employing different functions as stream's constructors (re-constructors). The internal computation prescribed by a stream is realised by constructing the stream with its own re-constructors. This provides us with a computationally more active and self-contained stream's notion that allows: (1) deriving new re-constructors by combining other re-constructors, (2) specifying dataflow computations directly inside streams and, dually, (3) defining re-constructors out of dataflow combinators. Moreover, this modelling supports to some degree parallel (sequential) evaluations of unbounded (recursive) structures in the style of Evaluation Strategies. All these possibilities are achieved thanks to a comonadic development able to capture co-inductive streams, parallelism (sequentiality) and causality aspects directly.