[Haskell-cafe] Unambiguous choice implementation
apfelmus at quantentunnel.de
Wed Jun 27 10:44:35 CEST 2012
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.
More information about the Haskell-Cafe