Building GUIs In Haskell

Stc
Date: 2006-12-14

Time: 11:45

Room: BBL room 471

Speaker: Thomas van Noort

Title: Building GUIs in Haskell (slides/paper)

Abstract

For a long time, building Graphical User Interfaces (GUIs) in Haskell has been underrated. A common prejudice is that a functional language like Haskell, in contrast to an object-oriented language, is not suitable for building a GUI. Most GUI libraries are implemented in an object-oriented language, which provides an intuitive feel to building a GUI. Moreover, most people write their first GUI in an object-oriented language, which prevents them from using Haskell for building GUIs at a later time.

This talk discusses what features of Haskell make the language very suitable for building GUIs. Two monadic libraries, Gtk2Hs and wxHaskell, are presented to illustrate that it is not hard to build a GUI in Haskell. A running example is used to compare the two libraries, and their usability in particular. Furthermore, an extension for both libraries is discussed to further improve the usability: the visual GUI builder Glade for Gtk2Hs, and the eXtended and Typed Control (XTC) library for wxHaskell.