Sun Mar 10 09:39:19 EDT 2013

Explicit time loop?

Probably the simplest approach is to make the time loop explicit.  A
time loop is the reference point for "feedback" loops (state update)
and provides a time coordinate.

Practically, a time loop is a fold with a marker for feedback.

While thinking in hacks is easier, the important part is to keep the
semantics clean.  Is an ai-lambda a stream processor or not?  In
current use, there are at least a couple of points where a simple
scalar language is useful.

It seems this boils down to making the top time loop into an
accumulation loop.  Doing this incrementally: first pushing it from
stage 2 to stage 1 in ai-array.rkt

First attempt is to make the toplevel time loop an accumulate loop,
but that's no good: it is expected to be a values form.  This needs a
different representation.

Hmm... this is going to require some deeper insight.