Thanks, Heinrich. I looked at the examples and at the references you provided. I understand the semantic model, so I guess I'm mostly trying to understand the implementation. Conal's paper was mostly about refining data structures in order to provide better implementation. It's all beautiful up to the point where he introduces the unamb hack. How did you manage to work around this problem and implement event merging efficiently?
--Bartosz

On Mon, Jun 25, 2012 at 1:30 AM, Heinrich Apfelmus <apfelmus@quantentunnel.de> wrote:
Bartosz Milewski wrote:
I'm trying to understand Reactive Banana, but there isn't much documentation to go about.

I haven't written any beginner documentation yet because the API is still in flux. The homepage

 http://www.haskell.org/haskellwiki/Reactive-banana

and Stackoverflow

 http://stackoverflow.com/questions/tagged/frp

are great resources, though. Feel free to drop me a line if you have questions as well.


How is RB positioned vis a vis Elliott (and then there is the earlier Elliot and Hudak, and the later Elliot with the push implementation and type classes).

The semantics from Elliott (double 't', by the way) and reactive-banana are essentially the same, but I have taken the liberty to modernize many function names. You can pretty much directly translate Conal's examples to reactive-banana, except for those involving the  switcher  combinator.

The approaches to implementation are very different, though. Functional reactive programming is one of the cases where you have to learn the API without understanding its implementation. (But have a look at the Reactive.Banana.Model module, which provides a simplified model implementation.)


Do you have a toy applet that demonstrates the use of Reactive Banana, something like Elliotts Bezier editor,  http://research.microsoft.com/pubs/69665/deop-tr.pdf  ?

Reactive-banana comes with a lot of examples, mentioned here:

 http://www.haskell.org/haskellwiki/Reactive-banana#documentation


By the way, Conal's Bezier editor doesn't make much use of the  switcher  combinator, so you can directly translate it into reactive-banana.



Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

--
You received this message because you are subscribed to the Google Groups "Haskell-cafe" group.
To post to this group, send email to haskell-cafe@googlegroups.com.
To unsubscribe from this group, send email to haskell-cafe+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/haskell-cafe?hl=en.




--
[:Bartosz:]