threepenny-gui: GUI framework that uses the web browser as a display.

[ bsd3, gui, library, web ] [ Propose Tags ]

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

It's cheap and easy to install because everyone has a web browser installed.

Internally, the library implements a small web server that serves a HTML/JavaScript page with the GUI elements. You can freely manipulate the HTML DOM and handle browser events from your Haskell code.

Stability forecast: This is an experimental release! Send us your feedback! Significant API changes are likely in future versions.

NOTE: This library contains examples, but they are not built by default. To build and install the example, use the buildExamples flag like this

cabal install threepenny-gui -fbuildExamples
Versions [faq],,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change log
Dependencies aeson (>=0.6 && <0.8), attoparsec-enumerator (==0.3.*), base (==4.*), bytestring (>=0.9.2 && <0.11), containers (>=0.4.2 && <0.6), data-default (==0.5.*), deepseq (==1.3.*), filepath (==1.3.*), hashable (>=1.1.0 && <1.3), MonadCatchIO-transformers (==0.3.*), network (>=2.3.0 && <2.6), parsec, safe (==0.3.*), snap-core (==0.9.*), snap-server (==0.9.*), stm (>=2.3 && <2.5), template-haskell (>=2.7.0 && <2.10), text (>=0.11 && <1.2), threepenny-gui, time (==1.4.*), transformers (>=0.3.0 && <0.5), unordered-containers (==0.2.*), utf8-string (==0.3.*), vault (==0.3.*), websockets (==0.8.*), websockets-snap (==0.8.*) [details]
License BSD-3-Clause
Author Chris Done, Heinrich Apfelmus
Maintainer Heinrich Apfelmus <apfelmus at quantentunnel dot de>
Category Web, GUI
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by HeinrichApfelmus at 2014-05-18T13:04:55Z
Distributions LTSHaskell:, NixOS:, Stackage:
Executables threepenny-examples-use-words, threepenny-examples-missing-dollars, threepenny-examples-drummachine, threepenny-examples-dragndropexample, threepenny-examples-currencyconverter, threepenny-examples-crud, threepenny-examples-chat, threepenny-examples-buttons, threepenny-examples-bartab
Downloads 25093 total (140 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]





Build example executables.


The library uses some techniques that are highly non-deterministic, for example garbage collection and concurrency. Bugs in these subsystems are harder to find. Activating this flag will expose more of them.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees