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

Heinrich Apfelmus apfelmus at quantentunnel.de
Sat Jul 9 08:39:05 CEST 2011


David Virebayre wrote:
> Heinrich Apfelmus:
> 
>> I want to hear!
>> Just a description. :) You can also mention why you find it interesting etc.
> 
> Well I have an old program sitting around. Anyway, it's very simple :
> 
> The GUI has
> - a window with a menu bar, 2 directory selects (source and dest
> directories), 1 file select ( the 'patch file'), 1 textview to write
> logging information, and a 'Convert' button to start.
> - an about window that opens from a 'About...' menuitem
> - A status bar.
> 
> The convert button stats an action that scans all applicable files in
> a source directory, converts them and writes them in a destination
> directory.
> 
> The conversion itself is irrelevant to the topic, in my case it
> consists in searching for patterns in the file and replacing them,
> according to a list of changes read from a file, the 'patch file'.
> 
> The progression is logged in the textview: file processed, strings
> replaced. In the status bar, a percentage bar grows.
> 
> 
> 
> Why do I find it interesting ?
> 
> Most of the time I would do a program like the above with a command
> line interface only. GUI programming can be tedious. Would FRP offer a
> way to code such a simple, boring example in a fun way ?
> 
> Also, FRP is often concerned with animations, but I'd really like to
> see if it works well for small utilities.
> 
> I have an old source code I can share, using gtk2hs, imperative style
> (and also beginner-ugly style :) ). It's about 200 lines of codes and
> a glade file. It just compiled and ran fine here.

Interesting! This looks very much like a command-line program in 
disguise, probably a perfect fit for Conal Elliott's tangible values.

    http://www.haskell.org/haskellwiki/TV

Could you send me a few screenshots showing the program in action?


Best regards,
Heinrich Apfelmus

--
http://apfelmus.nfshost.com




More information about the Haskell-Cafe mailing list