
I've been trying to get my feet wet with Functional Reactive Programming, and I'd like to play around with a library and some examples, particularly one that's already set up to work with a GUI framework like Gtk2Hs or wx. But it's been nightmarish trying to find something that works. - Grapefruit examples wouldn't compile because they were trying to import things I couldn't find in Hackage. (Codebreaker.hs, for instance) Examples using git-level stuff? - reactive-banana-wx wouldn't build because I have array-0.5 on the system level and cabal couldn't resolve dependencies. - threepenny-gui example Buttons.hs wouldn't compile (16:30: ‘jsStatic’ is not a (visible) constructor field name) Am I just having a run of bad luck, or is FRP really elusive right now for some reason? Should I just be learning some other GUI discipline if I want to write interfaces for my Haskell stuff? Sagely advice would be very much appreciated. - Lucas

On Tue, 23 Dec 2014 20:41:55 -0700
Lucas Paul
I've been trying to get my feet wet with Functional Reactive Programming, and I'd like to play around with a library and some examples, particularly one that's already set up to work with a GUI framework like Gtk2Hs or wx. But it's been nightmarish trying to find something that works.
- Grapefruit examples wouldn't compile because they were trying to import things I couldn't find in Hackage. (Codebreaker.hs, for instance) Examples using git-level stuff?
- reactive-banana-wx wouldn't build because I have array-0.5 on the system level and cabal couldn't resolve dependencies.
- threepenny-gui example Buttons.hs wouldn't compile (16:30: ‘jsStatic’ is not a (visible) constructor field name)
Am I just having a run of bad luck, or is FRP really elusive right now for some reason? Should I just be learning some other GUI discipline if I want to write interfaces for my Haskell stuff?
Sagely advice would be very much appreciated.
I can't offer advice, but I'm certainly interested in the answer. Brian

Lucas Paul wrote:
I've been trying to get my feet wet with Functional Reactive Programming, and I'd like to play around with a library and some examples, particularly one that's already set up to work with a GUI framework like Gtk2Hs or wx. But it's been nightmarish trying to find something that works.
- Grapefruit examples wouldn't compile because they were trying to import things I couldn't find in Hackage. (Codebreaker.hs, for instance) Examples using git-level stuff?
- reactive-banana-wx wouldn't build because I have array-0.5 on the system level and cabal couldn't resolve dependencies.
- threepenny-gui example Buttons.hs wouldn't compile (16:30: ‘jsStatic’ is not a (visible) constructor field name)
Author of reactive-banana and threepenny-gui here. One of the design goals of Threepenny is to be dead simple to install. Please keep reporting things that don't work. In your case: Are you trying to run the Button.hs file from github? This one is coded against version 0.6.*, which has not been released on Hackage yet. Please use the Button.hs file included in http://hackage.haskell.org/package/threepenny-gui-0.5.0.0 instead, or run the threepenny-examples-buttons executable. As for reactive-banana-wx: There's a reason I started Threepenny. :) Best regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com

On Wed, 24 Dec 2014 10:54:50 +0100
Heinrich Apfelmus
As for reactive-banana-wx: There's a reason I started Threepenny. :)
Regarding this issue: Could you please clarify this (ideally on the threepenny and reactive-banana github pages)? I have looked into these projects from time to time and was quite confused by all the dependency changes (threepenny being now standalone without relation to reactive-banana, if i understood correctly). I guess a clear note would be helpful to a lot of people looking for a FRP library. kind regards, max

Max Voit wrote:
Heinrich Apfelmus wrote:
As for reactive-banana-wx: There's a reason I started Threepenny. :)
Regarding this issue: Could you please clarify this (ideally on the threepenny and reactive-banana github pages)? I have looked into these projects from time to time and was quite confused by all the dependency changes (threepenny being now standalone without relation to reactive-banana, if i understood correctly). I guess a clear note would be helpful to a lot of people looking for a FRP library.
Well, there are FRP (functional reactive programming) libraries and there are GUI (graphical user interface) libraries. While the two go well together, these are really two separate concepts. Which one of the two are you looking for? reactive-banana = FRP only reactive-banana-wx = connects a GUI library and an FRP library threepenny = mainly GUI, but includes a small FRP part I will try to make the distinction more clear on the project homepage (to which the github pages link), but I can't guarantee that there will be less confusion for people who are completely new to these ideas. Best regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com

I'm trying to wrap my head around FRP by ignoring the whole GUI part
for now and working with Sodium[6] to do simple really simple
things[1]. I've extracted the Poodle (OpenGL with Sodium) example into
a separate github to add a cabal file[2]. You should be able to use
'cabal run' on that.
Top FRP talk on Youtube I have found thus far is: An Event-driven and
Reactive Future[3], which does a nice overview of FRP and how it
relates to other patterns.
Also playing around with Elm[4] and Bacon.js[5] in the browser is fun.
If you find working GUI examples, please consider sharing them and
posting a link on this thread!
Greetings,
Bram
[1] http://bneijt.nl/blog/post/sodium-frp-simplest-example
[2] https://github.com/bneijt/poodle
[3] https://www.youtube.com/watch?v=_VdIQTtRkb8
[4] http://elm-lang.org/
[5] https://baconjs.github.io/
[6] https://hackage.haskell.org/package/sodium
On Wed, Dec 24, 2014 at 2:33 PM, Heinrich Apfelmus
Max Voit wrote:
Heinrich Apfelmus wrote:
As for reactive-banana-wx: There's a reason I started Threepenny. :)
Regarding this issue: Could you please clarify this (ideally on the threepenny and reactive-banana github pages)? I have looked into these projects from time to time and was quite confused by all the dependency changes (threepenny being now standalone without relation to reactive-banana, if i understood correctly). I guess a clear note would be helpful to a lot of people looking for a FRP library.
Well, there are FRP (functional reactive programming) libraries and there are GUI (graphical user interface) libraries. While the two go well together, these are really two separate concepts. Which one of the two are you looking for?
reactive-banana = FRP only reactive-banana-wx = connects a GUI library and an FRP library threepenny = mainly GUI, but includes a small FRP part
I will try to make the distinction more clear on the project homepage (to which the github pages link), but I can't guarantee that there will be less confusion for people who are completely new to these ideas.
Best regards, Heinrich Apfelmus
-- http://apfelmus.nfshost.com
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (5)
-
Bram Neijt
-
briand@aracnet.com
-
Heinrich Apfelmus
-
Lucas Paul
-
Max Voit