[reactive] FRP, continuous time and concurrency

Álvaro García Pérez agarcia at babel.ls.fi.upm.es
Wed Jun 10 13:39:41 EDT 2009


I don't completely understand how can you wrap your reactive definition into
a particular implementation.

Let's take the IO legacy adapter for example, how could I use the
applicative lifting (liftA2) with behaviours to implement things inside the
IO monad? Can you give some code adapting the "a = liftA2 (+) b c" example
to the console? Are threads and concurrency required to do so?

Alvaro.

2009/6/10 Freddie Manners <f.manners at gmail.com>

> So, it may be that we've made Num a => Behavior a an instance of Num in
> which case this is valid code; I think the definition
>
> a = liftA2 (+) b c
>
> is more instructive.  The point is that Behavior is an instance of
> Applicative, so we can apply a time-varying function (such as (+) b) to a
> time-varying argument (such as c) so that the answer is modified when either
> the function or the argument is.
>
> Freddie
>
> 2009/6/10 Patai Gergely <patai_gergely at fastmail.fm>
>
> > Anyway, can you give any implementation of this example using the
>> > reactive library?
>> If b and c are signals (or behaviours as they are called in Reactive)
>> carrying Num values of the same type, you can simply say a = b + c, and
>> you're done. Signal a will be updated only when either b or c is
>> updated. Note that this must be understood in the context of laziness,
>> i.e. not a single sum is calculated until a sample of a is requested.
>>
>> Gergely
>>
>> --
>> http://www.fastmail.fm - One of many happy users:
>>  http://www.fastmail.fm/docs/quotes.html
>>
>> _______________________________________________
>> Reactive mailing list
>> Reactive at haskell.org
>> http://www.haskell.org/mailman/listinfo/reactive
>>
>
>
> _______________________________________________
> Reactive mailing list
> Reactive at haskell.org
> http://www.haskell.org/mailman/listinfo/reactive
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/reactive/attachments/20090610/d39a63e3/attachment.html


More information about the Reactive mailing list