Go to the first, previous, next, last section, table of contents.

What is Haggis?

Haggis is a basic framework for writing graphical user interfaces using the functional language Haskell, See section Related resources. By equipping the programmer with a set of basic building blocks and some glue for combining these blocks together, Haggis provides a compositional view of writing user interface applications. Complete user interface applications are built by repeatedly applying the Haggis UI glue to successively larger and larger blocks, composing together the appearance of the user interface, its interactive behaviour and the underlying application semantics.

So Haggis can be seen as providing the basic tools for creating user interface applications in Haskell. Indeed, using the basic Haggis mechanisms the programmer could construct many of the common user interface abstractions such as sliders, buttons, menus etc. However, since such components are so common, Haggis comes with a large set of already composed abstractions that can immediately be put to use. By going through this tutorial, you should learn not only the basic compositional mechanisms that Haggis provides, but also how to make use of some of the common user interface abstractions.


Go to the first, previous, next, last section, table of contents.