> Am I correct in saying that the way time is handled is by a 
> function that gets the current time and functions that calculate
> the state of the system at the time given by that call? So in FRP,
> time is continuous, but the points of calculation are not controlled
> by the Haskell code.

I'm not sure I understand the question.  Here's an example that might
clarify.  In FRP/Fran/Fal I can write "sin time".  The meaning of that
behavior depends on some kind of an interpreter.  Normally, the
intepreter tries to run it in real time, as I think you are suggesting,
for example when trying to generate graphical animations.  But you can
define the interpeter any way that you like.  For example, you could
define one that took very small time steps, thus generating a very
fine-grained animation that you played back later at a faster rate.  Or
you could define an interpreter mimicking the denotational semantics
that would give you the single value of the behavior at some given point
in time:

  sin time `at` pi/2   ==>  1

By the way, relative to a given interpreter, you can also do time
transformations, such as:

  timeTrans (pi/2) (sin time) `at` 0  ==>  1

I hope this helps,

  -Paul

Reply via email to