Building a GTK Todo App in Haskell with the Elm Architecture

Making a GTK application in Haskell, part 1

Building a GTK Todo App in Haskell with the Elm Architecture

This tutorial walks intermediate Haskellers through creating a todo-list application using Haskell, GTK 4, and the Adwaita library via haskell-gi. It covers setting up an Adwaita application window, modeling state with the Elm Architecture (Model-View-Update), and implementing domain logic for adding and completing tasks. The full project is available on GitHub, and the series continues with more features in part 2.

This approach was broadly popularised by Elm, and lends itself quite well to taming the imperative nature of the GTK toolkit.

More from this day

2026-10-05