Sun Jul 19 16:44:16 EDT 2015

Causal or not?

Let's take a more abstract view.

Signal processors are Arrows.  In fact they are the school book

The "growing state" problem is because of the "view".  Some symmetry
is broken because of extra constraints introduced:

Signal processors are constrained to the causal kind: those that can
be represented by difference equations.  (s,i) -> (s,o)

This then breaks the Arrow abstraction.  How to create a morphism that
allows to reconstruct operations in the SSM domain from Arrow
operations in the specification domain?  I.e. the important question

   Arrows are the right abstraction.
   How to "lift" those to "Implementation Arrows"?

What would an implementation arrow look like?  Essentially, this is a
version of the arrow laws that has an extra parameter that is somehow

[1] https://www.haskell.org/arrows/