From HaskellWiki
Revision as of 12:48, 7 September 2013 by Apfelmus (talk | contribs) (Created page with "== What is it? == <div style="float:right; width:16em; font-size:90%; font-family:serif; border:1px solid grey; padding:1ex;"> <div> Und der Haifisch, der hat Zähne<br> Und ...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

What is it?

Und der Haifisch, der hat Zähne
Und die trägt er im Gesicht
Und Macheath, der hat ein Messer
Doch das Messer sieht man nicht.

Bertold Brecht - The Threepenny Opera

Threepenny-gui is a GUI framework that uses the web browser as a display.

Features include:

  • Easy installation. Everyone has a reasonably modern web browser installed. Just install the library from hackage and you are ready to go. The library is cross-platform.
  • HTML. You have all capabilities of HTML at your disposal when creating user interfaces. This is a blessing, but it can also be a curse, so the library includes a few layout combinators to quickly create user interfaces without the need to deal with the mess that is CSS. A small JavaScript FFI allows you to include JS client libraries.
  • Functional Reactive Programming (FRP) promises to eliminate the spaghetti code that you usually get when using the traditional imperative event-based style for programming user interactions. Threepenny has an FRP library built-in, but its use is completely optional. Employ FRP when it is convenient and fall back to the traditional style when you hit an impasse.


The library is still very much in flux, significant API changes are likely in future versions. The goal is make GUI programming as simple as possible, and that just needs some experimentation.

  •  ?? September 2013 – Release of threepenny-gui-


Applications written with Threepenny.

Daniel Austin's FNIStash
Editor for Torchlight 2 inventories.

Daniel Mlot's Stunts Cartography Track Viewer
Map viewer for the Stunts racing game.

Releases and Resources