Past Meetup

Building Pragmatic User Interfaces in Haskell with HsQML

This Meetup is past

43 people went

Location image of event venue

Details

Speaker: Robin KAY.

This talk will demonstrate the basics of using the HsQML (http://www.gekkou.co.uk/software/hsqml/) library to build rich cross-platform graphical user interfaces for Haskell programs.

HsQML is a Haskell binding to Qt 5 (http://qt-project.org/doc/qt-5/qtquick-index.html), a popular C++ framework for writing desktop and mobile applications. Distinctively, the binding focuses on leveraging Qt's own domain specific language (QML (http://en.wikipedia.org/wiki/QML)) for describing user interfaces and closely coupling that environment to Haskell rather than exposing Qt's functionality directly. This trade-off was a pragmatic choice versus reimplementing more of the UI stack in Haskell and in return offers fluid access to Qt's widget library and design tools.

The talk will illustrate, via a worked example, how to describe user interfaces using QML and then bring them to life by data-binding against Haskell code. The split between front and back ends invites a comparison with the web, but the two pieces are much more intimately coupled. Hence, we seek as much as possible for QML to be a lightweight skin over the underlying Haskell business logic and use the best tool for each job.