Создаём GTK-приложение на Haskell: архитектура Elm и libadwaita
Making a GTK application in Haskell, part 1

В первой части серии мы строим todo-приложение на Haskell с GTK 4 и Adwaita. Используем haskell-gi для доступа к C API, создаём окно и организуем код по архитектуре Model-View-Update из Elm. Модель, сообщения и эффекты описываются как типы данных, что даёт полный контроль над состоянием. В конце запускаем приложение и видим список задач.
С опытом дизайн не следует напрямую из данных, поэтому я всё меньше склонен смотреть на форму своих данных, чтобы informировать свои проекты.