Mon Aug 17 17:51:41 EDT 2015

Running in circles

I'm stuck.  There is one very important thing I am just not seeing.

The monad contains the time behavior.
If this is the case, then every thing inside an 'm' has time behavior associated to it.

  feedback :: s -> (s -> m (s, t)) -> m t

If the monad contains time behavior, then

  s -> m (s, t)

means something like: given an initial state s, a sequence of s, t can be constructed.

So the monad IS a sequence.

If this is so, why is

  add :: r t -> r t -> m (r t)

The result is not a sequence.

So looking from feedback, m is a sequence.  Looking from add, m is
only sharing.

Makes no sense.