
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-bananahttp://www.haskell.org/haskellwiki/Reactive-banana
and Stackoverflow
http://stackoverflow.com/**questions/tagged/frphttp://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.pdfhttp://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#**documentationhttp://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-cafehttp://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=enhttp://groups.google.com/group/haskell-cafe?hl=en .
-- [:Bartosz:]