Mon Aug 3 02:29:18 EDT 2015


figure out a way to define a representation that is a system, to
shoe-horn into:

r t -> r t -> m (r t)

Basically, what does this mean:

f (m (r t)) -> m (f (r t))

A system with a (double wrapped) monadic output, maps to a monadic
value of a signal.

This should give interesting things like:
- compile once to get a Sys
- compile a second time to get Code

This should be the goal probably: every variable is a signal.
Rewrite Sys to use that approach?

Start out like that:
- Systems are defined in terms of Data
- Data is then again defined in terms of Systems (signals)

It seems that these are two layers that are otherwise implicit or
ambiguous in rai.  In Haskell the types enforce explicit layers.