[Haskell-cafe] Call for GUI examples - Functional Reactive Programming

Heinrich Apfelmus apfelmus at quantentunnel.de
Fri Jul 8 08:08:26 CEST 2011


Dear Haskellers,

Can GUI programming be liberated from the IO monad? Functional Reactive 
Programming (FRP) promises as much, and I'm trying to make this dream a 
reality with my [reactive-banana][] library. Having released version 
0.4.0.0, I am now looking for example programs to direct the future 
evolution of the library.

Do you know any *small GUI programs* that you would *like* to see 
*implemented with Functional Reactive Programming?*

I'm sure that some of you

* are interested in FRP and would like to learn from a few simple but 
beautiful examples
* or have written small GUI programs that they are unhappy with because 
they were not purely functional
* or have thought about FRP before and concocted a few examples that are 
very tricky to implement with FRP
* or have written a nice little GUI application that simply makes a 
great example.

I would love to hear your examples, so that I can try to convert them to 
FRP style and test my library against them!

Strictly speaking, it doesn't have to be an example with a graphical 
interface, I'm also interested in audio and animation examples, though 
I'm currently focusing on GUIs.

Here a few examples of what I am looking for:

* I think that Tim Docker's minimal step sequencer [hbeat][] simply 
makes a great example. I hope that wxHaskell offers a 
platform-independent way to play sound.

* While editing the [Haskell Weekly News][hwn], Brent Yorgey wrote a 
little command-line [program to gather newsworthy items][zipedit]. But 
wouldn't a GUI be great? Since I'm only interested in the GUI, someone 
would have to supply the feed parser for this example to be viable. 
Maybe the current editor, Daniel Santa Cruz, might be interested?

* Notes of a musical performance can be modeled as event streams (MIDI), 
as Henning Thielemann has [done with great effect][midi streams]. 
Surely, reactive-banana should be up to the task, but writing an 
arpeggiator seems impossible at the moment.


   [reactive-banana]: http://hackage.haskell.org/package/reactive-banana
   [zipedit]: http://byorgey.wordpress.com/2008/06/21/zipedit/
   [hbeat]: http://dockerz.net/twd/hBeat
   [midi streams]: http://hackage.haskell.org/package/streamed
   [hwn]: http://www.haskell.org/haskellwiki/Haskell_Weekly_News



Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com




More information about the Haskell-Cafe mailing list