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 Milewski wrote:I haven't written any beginner documentation yet because the API is still in flux. The homepage
I'm trying to understand Reactive Banana, but there isn't much documentation to go about.
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.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.
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 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.)Reactive-banana comes with a lot of examples, mentioned here:
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 ?
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.