Haskell Blog

GUI - Release of the threepenny-gui library, version 0.3.0.0

Sat, 07 Sep 2013 18:40:40 +0200

Time flies like a monad and I am pleased to announce release of threepenny-gui version 0.3, a cheap and simple library to satisfy your immediate GUI needs in Haskell.

Want to write a small GUI thing but forgot to sacrifice to the giant rubber duck in the sky before trying to install wxHaskell or Gtk2Hs? Then this library is for you! Threepenny is easy to install because it uses the web browser as a display.

The special feature of version 0.3 is that it has functional reactive programming (FRP) built-in. This makes it a lot easier to program GUI application without getting caught in spaghetti code. It’s completely optional, though, you can freely switch between FRP and traditional event handlers. Note that the FRP variant used in this release is a little underpowered, it does not have dynamic event switching yet. But it works today and is already extremely useful.

For an introduction to FRP, see for example my slides from a tutorial I gave last year. (The API is slightly different in Reactive.Threepenny.)

To see Threepenny in action, have a look at the following applications:

Daniel Austin’s FNIStash
Editor for Torchlight 2 inventories.
Daniel Mlot’s Stunts Cartography Track Viewer
Map viewer for the Stunts racing game.

Get the library here:

Note that the API is still in flux and is likely to change radically in the future. You’ll have to convert frequently or develop against a fixed version.

Many thanks to Daniel Austin and Daniel Mlot for their help with this project and to Chris Done for implementing the Ji library which is the basis for this effort.

Some HTML formatting is allowed in comments.
blog comments powered by Disqus