Declarative GTK+ programming in Haskell
Clone or download
Latest commit 6471074 Dec 29, 2018


Declarative GTK+ programming in Haskell

Hackage Hackage Build Status



Learn how to use this package at the documentation website.

Build Instructions

Using newer versions of Cabal, run:

cabal new-build all

Or using Stack:

stack build

You may also use Nix:


The documentation is built using MkDocs.


There are some examples in examples/, using the GI.Gtk.Declarative.App.Simple architecture, which also showcase GI.Gtk.Declarative (the markup library.)

As an example, to run the examples/Hello.hs example, follow these steps (assuming you have a recent version of Cabal):

cabal new-run example Hello

You might also build in a Cabal sandbox, using Stack, or with Nix.


EXPERIMENTAL! Do not bet your business on this quite yet.


Follow the installation instructions at haskell-gi to make sure you have the required GObject and GTK+ libraries installed.

As this package relies heavily on OverloadedLabels and the haskell-gi-overloading functionality, the restrictions apply as described in the haskell-gi package documentation, i.e. you cannot compile this package with GHC 8.2.x.


Copyright 2018 Ⓒ Oskar Wickström

Mozilla Public License Version 2.0