Signals and Comonads
Tarmo Uustalu (Institute of Cybernetics at Tallinn University of Technology, Estonia)
Tarmo Vene (Department of Computer Science, University of Tartu, Estonia)
Abstract: We propose a novel discipline for programming stream functions and for the semantic description of stream manipulation languages based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads. This seems to be a promising application for the old, but very little exploited idea that if monads abstract notions of computation of a value, comonads ought to be useable as an abstraction of notions of value in a context. We also show that causal partial-stream functions can be described in terms of a combination of a comonad and a monad.
Keywords: comonads, dataflow computation, distributive laws, stream functions
Categories: D.3.1, F.3.2