[Haskell-cafe] Unambiguous choice implementation

Heinrich Apfelmus 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.

Best regards,
Heinrich Apfelmus


More information about the Haskell-Cafe mailing list