Haskell Blog

GUI - Initial release of the threepenny-gui library, version 0.1.0.0

Sun, 21 Jul 2013 14:29:40 +0200

And the shark, he has teeth,
And he wears them in (his) face.
And Macheath, he has a knife,
(But) yes the knife, no-one sees.

After an obligatory cryptical quotation from a famous writer, I am pleased to announce the first public release of threepenny-gui, 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-gui is easy to install (!!) because it uses the web browser as a display. Internally, we implement a small web server that communicates with the browser to display GUI elements. Consequently, you can use HTML and CSS to design the user interface. You can freely manipulate the HTML DOM and handle browser events by writing Haskell code.

Many thanks to Daniel Austin for collaborating with me on this project and to Chris Done for implementing the Ji library which is the basis for this effort.


On that note, the threepenny API for creating and manipulating GUI elements departs from earlier traditions. Do you like the new look and feel of the API? What do you think could be improved? Try it out and send us your feedback!

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