The threepenny-gui package

[Tags: bsd3, library]

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

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

A program written with Threepenny is essentially a small web server that displays the user interface as a web page to any browser that connects to it. You can freely manipulate the HTML DOM and handle JavaScript events from your Haskell code.

Stability forecast: This is an experimental release! Send me 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


Dependenciesaeson (>=0.7 && <0.9), async (==2.0.*), base (>=4.3 && <4.9), bytestring (>=0.9.2 && <0.11), containers (>=0.4.2 && <0.6), data-default (==0.5.*), deepseq (>=1.3.0 && <1.5), filepath (>=1.3.0 && <1.5.0), hashable (>=1.1.0 && <1.3), network (>=2.3.0 && <2.6), network-uri (==2.6.*), safe (==0.3.*), snap-core (==0.9.*), snap-server (==0.9.*), stm (>=2.2 && <2.5), template-haskell (>=2.7.0 && <2.11), text (>=0.11 && <1.3), threepenny-gui, time, transformers (>=0.3.0 && <0.5), unordered-containers (==0.2.*), vault (==0.3.*), vector (==0.10.*), websockets (>=0.8 && <0.10), websockets-snap (>=0.8 && <0.10)
AuthorHeinrich Apfelmus
MaintainerHeinrich Apfelmus <apfelmus at quantentunnel dot de>
CategoryWeb, GUI
Home page
Bug tracker
Source repositoryhead: git clone git://
Executablesthreepenny-examples-drummachine, threepenny-examples-dragndropexample, threepenny-examples-currencyconverter, threepenny-examples-crud, threepenny-examples-chat, threepenny-examples-canvas, threepenny-examples-buttons, threepenny-examples-bartab
UploadedFri May 15 17:53:14 UTC 2015 by HeinrichApfelmus
Downloads3352 total (174 in last 30 days)
StatusDocs available [build log]
Last success reported on 2015-05-21 [all 1 reports]




buildexamplesBuild example executables.Disabled
network-uriGet Network.URI from the network-uri packageEnabled
rebugThe 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.Disabled

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


Maintainers' corner

For package maintainers and hackage trustees