Sat Aug 15 20:22:24 EDT 2015

Feedback does produce "infinite lists"

Everything will be lifted to time.
So Feedback really is a fold.

In fact, [] could be used as a phantom type for temporal values in
Code as well.

Let's give this a try.

Trouble is that it's outside of r.
Maybe Sig needs r?

Trouble with that was defining functor.

Quick try brings up all sorts of issues when adding another type

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

But it does indicate that this might be list of representations
instead of representation of list.

Anyway: making it explicit is not good.

I guess it's time to deal with the core confusion:

    is it a scalar or a stream?

The way around it is the same as for RAI: everything is a stream.

But it Haskell the jump/lift needs to be done somewhere.
And that is at Feedback.

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

where t -> t'

      r a -> r (l a)

I've been sloppy with (r a, r b) and r (a, b), so maybe this needs to
be cleared up first?  Doesn't seem so, as meta/target flexibility is

So, problem: r [a] would actually work, but needs 'r' inside
everything (Feedback and Signal) and this interferes with a lot.

So maybe try that first?

EDIT: If r is a functor / applicative, then this is actually not that