The Essence of Dataflow Programming
نویسندگان
چکیده
Wepropose a novel, comonadic approach to dataflow (streambased) computation. This is based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads and on the intuition that comonads in general must be a good means to structure context-dependent computation. In particular, we develop a generic comonadic interpreter of languages for context-dependent computation and instantiate it for stream-based computation. We also discuss distributive laws of a comonad over a monad as a means to structure combinations of effectful and context-dependent computation. We apply the latter to analyse clocked dataflow (partial stream based) computation.
منابع مشابه
Semantics-Based Dataflow Analysis of Logic Programs
The increased acceptance of Prolog has motivated widespread interest in the semanticsbased dataflow analysis of logic programs and a number of different approaches have been suggested. However, the relationships between these approaches are not clear. The present paper provides a unifying introduction to the approaches by giving novel denotational semantic definitions which capture their essenc...
متن کاملEmbedding Dynamic Dataflow in a Call-by-Value Language
This paper describes FrTime, an extension of Scheme designed for writing interactive applications. Inspired by functional reactive programming, the language embeds dynamic dataflow within a call-by-value functional language. The essence of the embedding is to make program expressions evaluate to nodes in a dataflow graph. This strategy eases importation of legacy code and permits incremental pr...
متن کاملComparing MultiCore, ManyCore, and DataFlow SuperComputers: Acceleration, Power, and Size
This paper presents the essence of the newly emerging dataflow paradigm to computing, using the realities of the most recent implementations based on modern FPGA components. It sheds light on issues like speedup (as high as about 20 or more for a number of important applications), size reduction (about 20 for current implementations), and reduction of power dissipation (monthly electricity bill...
متن کاملAlmost Continuous Transformations of Software and Higher-order Dataflow Programming
We consider two classes of stream-based computations which admit taking linear combinations of execution runs: probabilistic sampling and generalized animation. The dataflow architecture is a natural platform for programming with streams. The presence of linear combinations allows us to introduce the notion of almost continuous transformation of dataflow graphs. We introduce a new approach to h...
متن کاملProgramming Patterns in Dataflow Matrix Machines and Generalized Recurrent Neural Nets
Dataflow matrix machines arise naturally in the context of synchronous dataflow programming with linear streams. They can be viewed as a rather powerful generalization of recurrent neural networks. Similarly to recurrent neural networks, large classes of dataflow matrix machines are described by matrices of numbers, and therefore dataflow matrix machines can be synthesized by computing their ma...
متن کامل