
Bartosz Milewski wrote:
I see. So your current implementation is not push, is it?
Reactive-banana includes two implementations: a pull-based model implementation that specifies the semantics and a push-based implementation for actual work. So, yes, reactive-banana is push-based. Note that the qualification "push-based" is not straightforward to obtain. For instance, Elm is implementation in a style that looks push-based, but it doesn't optimize the case where no event / change happens, so it has the same efficiency as a pull-based implementation. Conal's unamb combinator may have a similar problem, but I'm not sure.
The original pull implementation in Fran also used Maybe events, but that was considered inefficient. How is Reactive Banana better then Fran then?
I don't know much about the implementation of Fran , but if I remember correctly, it uses the representation Behavior a = Time -> a and this introduces other efficiency problems not present in reactive-banana. Best regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com